バージョン
- JDK 23用GraalVM(最新)
- JDK 24用GraalVM(早期アクセス)
- JDK 21用GraalVM
- JDK 17用GraalVM
- アーカイブ
- 開発ビルド
ネイティブコードとの相互運用性
ネイティブイメージを使用して、Javaコードをネイティブ共有ライブラリに変換し、C/C++アプリケーションからCファンクションと同様の方法で呼び出すことができます。ネイティブにコンパイルされたJavaメソッドを呼び出すための2つのメカニズムがあります。
- JNI Invocation APIは、JVMを任意のネイティブアプリケーションにロードするためのAPIです。JNI Invocation APIを使用するメリットは、同じプロセス内で複数の分離された実行環境をサポートできることです。
- ネイティブイメージC APIは、GraalVMネイティブイメージに固有のAPIです。ネイティブイメージC APIを使用する利点は、APIの外観を決定できますが、パラメータと戻り値の型はオブジェクト以外の型である必要があることです。
関連ドキュメント #
- ネイティブイメージでの外部関数およびメモリAPI
- ネイティブイメージでのJava Native Interface (JNI)
- JNI Invocation API
- ネイティブイメージC API
- ネイティブ共有ライブラリの構築
- トリュフ言語の埋め込み—ケビン・メナードによるブログ記事で、ネイティブイメージにおけるJavaメソッドの公開の両方のメカニズムを比較しています。