- Tag
- 原创
Linux 桌面入门:彻底搞懂 .desktop 文件
- 2026-05-20
- 3
- 0
- 0
- 24.3℃
Linux 桌面入门:彻底搞懂 .desktop 文件 在 Linux 桌面环境中,.desktop 文件是连接应用程序与图形界面的桥梁。无论是从菜单启动软件,还是在桌面上放置快捷方式,背后都离不开它。本文将带你全面了解 .desktop 文件的格式、编写方法以及常见技巧。 一、什么是 .deskt
解决debian13中文显示异常
- 2026-05-19
- 4
- 0
- 0
- 24.4℃
解决debian13中文显示异常 现象 在 Debian 13 系统中,部分中文文本显示为方块、乱码或出现笔画裁剪、重叠,而另一些中文则正常显示。此问题在 GNOME 桌面的 GTK4 应用(如文本编辑器、Nautilus)中尤为突出。 原因 未安装中文字体,或安装的字体字符集覆盖不全。 字体回退(
通过letsencrypt实现永久免费的SSL证书续订
- 2026-04-11
- 15
- 0
- 0
- 25.5℃
通过letsencrypt实现永久免费的SSL证书续订 letsencrypt是一个CA机构,提供免费的SSL证书,通过certbot向letsenctypt申请证书,结合corn定时任务可以实现自动更新证书,并且永久免费 letsencrypt官网 参考文章 cerbot官网文档 通过snap安装
JNI第三期:JNI中的三种引用类型
- 2026-03-06
- 25
- 0
- 0
- 26.5℃
本文详细介绍了 JNI(Java Native Interface)中的三种引用类型:局部引用(Local Reference)、全局引用(Global Reference)和弱全局引用(Weak Global Reference)。通过对比表格清晰展示了它们在生命周期、跨线程能力、对垃圾回收的影响、创建与释放方式及主要用途上的区别。文章结合具体代码案例,演示了每种引用的使用方法、跨线程访问的可行性,并验证了其在 JVM 中的行为,如局部引用自动回收、全局引用需手动释放且不会被 GC、弱引用在内存紧张时会被回收等特点。
JNI第二期:JNI(Java Native Interface)的参数传递和返回
- 2026-02-21
- 22
- 0
- 2
- 30.2℃
JNI(Java Native Interface)是Java与本地代码(C/C++)交互的桥梁,支持参数传递和返回值处理。其核心包括数据类型映射、类型签名表示以及基本类型与对象类型的操作方法。
Java基本数据类型在JNI中通过添加前缀“j”映射到对应的本地类型,如`int`映射为`jint`,`boolean`映射为`jboolean`。对象类型统一用`jobject`表示。JNI使用类型签名来标识Java数据类型,例如`int`的签名是`I`,`java.lang.String`的签名是`Ljava/lang/String;`,方法的签名则结合参数和返回类型,如`int sum(int, int)`的签名为`(II)I`。
基本类型可以直接在Java和本地代码间传递和转换。对象类型的操作则类似于Java反射机制,需要获取类、方法或字段的句柄(如`jclass`、`jmethodID`),并通过JNI函数创建、访问或修改对象。对于在本地代码中创建的对象,若需在Java中持续使用,应通过`NewGlobalRef`创建全局引用,并在使用后通过`DeleteGlobalRef`释放,以避免内存泄漏。
通过具体案例展示了基本类型(如整数求和、布尔值转换)和对象类型(如创建`Student`对象并设置属性)的交互实现,包括本地方法的编写、编译为动态链接库及在Java中调用的完整流程。