使用OpenJDK的JEP 454从Java访问本机C函数:外部函数和内存 API
💡
原文中文,约1900字,阅读约需5分钟。
📝
内容提要
JEP 454提供了一种高效、安全的Java本地接口替代方案,包括FFI和内存访问API,可提高Java与本地代码交互的能力。示例演示了如何使用JEP 454从Java程序中调用C函数。
🎯
关键要点
- JEP 454 提供了一种高效、安全的 Java 本地接口替代方案,包括 FFI 和内存访问 API。
- JEP 454 是 Panama 项目的一部分,旨在提高 Java 与本地代码的交互能力。
- JEP 454 仍处于预览模式,需要 JDK 22 来试用。
- JEP 454 包含外来函数接口(FFI)和内存访问 API,简化 Java 与本地代码的交互。
- FFI 使 Java 程序能够轻松调用本地函数,减少 JNI 所需的模板代码。
- 内存访问 API 提供与本地内存交互的工具,包括内存分配和本地数据结构操作。
- JEP 454 设计具有高性能和安全检查,旨在取代 JNI。
- 示例中创建了一个简单的 C 语言库,并展示了如何在 Java 中调用该库的函数。
- Java 程序使用外来函数和内存 API 调用 C 库中的 add 函数,并输出结果。
- JEP 454 有潜力改变 Java 开发人员与本地库和内存的工作方式。
➡️