JNI
フルスペル:Java Native Interface
読み方:ジェーエヌアイ
別名:Javaネイティブインターフェース
JNIとは、Javaで記述されたプログラムにおいて、他のプログラミング言語で記述されたプログラムのネイティブコード(オブジェクトコード)を利用可能とする仕組みのことである。
JNIを利用することで、C言語、C++、アセンブリ言語といった他のプログラミング言語で記述され、各プラットフォームで実行可能な形式へと変換されたコードを、Java仮想マシン(JVM)上に呼び出して利用できるようになる。呼び出されるコードは各プラットフォームに依存した形式に変換されているため、同じプログラムが他のプラットフォーム上では実行できない可能性がある(マルチプラットフォームではなくなる)が、他のプログラミング言語で書かれた機能を資産として活用できるという利点がある。
JNIの主な用途としては、利用したい機能がプラットフォームに依存しており、Javaでサポートされていない場合、速度を要求される処理をアセンブラ言語で記述することで解決しようとする場合、既に他のプログラミング言語で開発された機能を、資産として有効活用したい場合、などが想定される。
|