置顶前端框架Vue教程

前端 

置顶Spring Boot开发教程

spring 

置顶Spring+SpringMVC教程

spring 

置顶Linux操作系统的使用教程


JVM内存布局

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

Java 

JNId第二期: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中调用的完整流程。

JNI第一期:Java的JNI入门HelloWorld

Java 

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

JAVA新一代NIO模型学习记录

Java 

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

RustDesk服务部署

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

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

cloud 

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