Project Panama
Javaとネイティブコードの連携を改善するOpenJDKプロジェクト。中核はForeign Function & Memory (FFM) API。
Foreign Function & Memory (FFM) API
Javaプログラムからネイティブ関数を呼び出し、ネイティブメモリを直接管理できるAPI。従来のJava Native Interface (JNI)より安全かつ効率的にこれらの操作を行える。
- JDK 19でプレビュー導入
- JDK 22で正式機能化(2024年3月)
jextract
Cのヘッダファイル(.h)をパースし、FFM APIを使ったJavaコードを自動生成するコマンドラインツール。ネイティブライブラリのヘッダで記述された関数・構造体へアクセスするためのJavaバインディングを生成する用途で、FFM APIと組み合わせて使われることが多い。2026年もjextractの改善が計画されている。
関連: Vector API
SIMD命令を活用したベクトル演算をJavaから扱うためのAPI。Panamaの一部として開発が進められており、JDK 26で11回目のインキュベーションを迎える予定。
出典
- Java Foreign Function & Memory API (Project Panama) | Medium
- Project Panama and jextract - Inside.java
- Guide to Java Project Panama | Baeldung
- Java Innovation Projects - Dev.java