解决debian13中文显示异常

运维 

解决debian13中文显示异常 现象 在 Debian 13 系统中,部分中文文本显示为方块、乱码或出现笔画裁剪、重叠,而另一些中文则正常显示。此问题在 GNOME 桌面的 GTK4 应用(如文本编辑器、Nautilus)中尤为突出。 原因 未安装中文字体,或安装的字体字符集覆盖不全。 字体回退(

通过letsencrypt实现永久免费的SSL证书续订

运维 

通过letsencrypt实现永久免费的SSL证书续订 letsencrypt是一个CA机构,提供免费的SSL证书,通过certbot向letsenctypt申请证书,结合corn定时任务可以实现自动更新证书,并且永久免费 letsencrypt官网 参考文章 cerbot官网文档 通过snap安装
JNI第三期:JNI中的三种引用类型

JNI第三期:JNI中的三种引用类型

本文详细介绍了 JNI(Java Native Interface)中的三种引用类型:局部引用(Local Reference)、全局引用(Global Reference)和弱全局引用(Weak Global Reference)。通过对比表格清晰展示了它们在生命周期、跨线程能力、对垃圾回收的影响、创建与释放方式及主要用途上的区别。文章结合具体代码案例,演示了每种引用的使用方法、跨线程访问的可行性,并验证了其在 JVM 中的行为,如局部引用自动回收、全局引用需手动释放且不会被 GC、弱引用在内存紧张时会被回收等特点。

Java 
JVM内存布局

JVM内存布局

JVM的内存布局和相关的概念

Java 
JNI第二期:JNI(Java Native Interface)的参数传递和返回

JNI第二期:JNI(Java Native Interface)的参数传递和返回

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中调用的完整流程。

Java 
JNI第一期:Java的JNI入门HelloWorld

JNI第一期:Java的JNI入门HelloWorld

本文档介绍了 Java JNI (Java Native Interface) 的入门教程,通过一个 HelloWorld 示例演示了如何在 Java 中调用 C/C++ 本地方法。核心流程包括:用 native 关键字声明本地方法并加载动态链接库;通过 javac -h 命令生成 JNI 头文件;实现头文件中定义的 C 函数;最后编译为共享库并运行。文档还详细说明了头文件和方法命名的转换规则,以及静态方法和实例方法在 JNI 函数签名中的参数区别(分别为 jclass 和 jobject)。

Java 
JAVA新一代NIO模型学习记录

JAVA新一代NIO模型学习记录

JAVA新一代NIO模型学习记录 NIO的三大组件是:Buffer、Channel、Seclector 缓冲区buffer 在NIO中数据的读写是按块进行读写,每一个buffer代表一个数据块 基本使用 Java的八大数据类型中,除了boolean类型外,都有对应的Buffer类型,例如:int类型

Java 
RustDesk服务部署

RustDesk服务部署

RustDesk服务部署 官网 一个使用rust编写的,开源的高性能的,跨平台的,支持自定义的远程控制软件 支持p2p和中继的网络架构 Github地址 服务器 通过docker部署 官方文档 hbbs:用于记录客户端的信息,运行与客户端之间的心跳机制,辅助客户端之间

Spring Cloud Alibaba Seata分布式事务组件使用教程


Spring Cloud Alibaba Seata分布式事务组件使用教程 什么是分布式事务 数据库中的事务是数据库写数据时出现错误时保证数据一致性的机制,单体服务中依靠数据库中的事务机制就能保证数据一致性 在分布式服务中,一个业务功能,会涉及多个服务节点,每个服务节点都有需要开启一个事务来保证数据
分布式消息队列(RabbitMQ)学习记录

分布式消息队列(RabbitMQ)学习记录

分布式消息队列(RabbitMQ)学习记录 本文使用的操作系统为windows,使用JDK17 RabbitMQ官网 分布式消息队列技术选型参考 分布式消息队列的使用场景: 异步处理 应用解耦 流量削峰 流量削峰 基本概念 AMQP协议(Advanced Message Queue Protocol