版本
- 适用于 JDK 23 的 GraalVM(最新版本)
- 适用于 JDK 24 的 GraalVM(抢先体验版)
- 适用于 JDK 21 的 GraalVM
- 适用于 JDK 17 的 GraalVM
- 存档
- 开发版本
与原生代码互操作
您可以使用 Native Image 将 Java 代码转换为 **本机共享库**,并像任何 C 函数一样从本机(C/C++)应用程序调用它。有两种机制可以调用本机编译的 Java 方法
- JNI 调用 API,一个 API 用于将 JVM 加载到任意本机应用程序中。使用 JNI 调用 API 的优点是支持在同一个进程中创建多个隔离的执行环境。
- Native Image C API,一个特定于 GraalVM Native Image 的 API。使用 Native Image C API 的优点是您可以确定 API 的外观,但参数和返回类型必须是非对象类型。
相关文档 #
- Native Image 中的外部函数和内存 API
- Native Image 上的 Java 本机接口 (JNI)
- JNI 调用 API
- Native Image C API
- 构建本机共享库
- 嵌入 Truffle 语言——Kevin Menard 的一篇博客文章,比较了 Native Image 中用于公开 Java 方法的两种机制