apangin/nalim:基于 JVMCI 的快速 Java 原生接口 2022-10-18 banq Nalim 是一个使用JVMCI(JVM 编译器接口)将 Java 方法链接到本机函数的库 。与其他用于本地库访问的 Java 框架不同,nalim 不使用 JNI,因此不会产生与 JNI 相关的开销。使用 nalim 调用本机函数时: 线程不会从in_Java状态切换到in_native状态再返回。 不涉及内存障碍。 没有创建JNI句柄。 省略了异常检查和安全点检查。 本地函数可以直接访问堆中的原始数组。 因此,与 JNI 相比,本机调用变得更快,尤其是在目标函数很短的情况下。从这个意义上说,nalim 类似于 JNI Critical Natives,但依赖于标准支持的接口。JNI Critical Natives在 JDK 16 中已被弃用,自 JDK 18 起已被[url=https://bugs.openjdk.org/browse/JDK-8258192]淘汰[/url],因此 nalim 可以作为替代品。