JNI 【Java Native Interface】

概要

JNI(Java Native Interface)とは、Java言語開発されたプログラムと、他の言語で開発されたプログラムを連携させるための標準的な方法を定めた仕様。Javaバイトコードネイティブコードが互いに相手の機能を利用できるようにすることができる。

Javaで記述されたソースコードJavaバイトコードという中間形式のプログラムに変換されて配布され、実行時Java仮想マシンJVM)によって実行環境に固有のプログラム形式(ネイティブコード)に変換されながら実行される。これにより、単一のバイトコードを様々な機種やオペレーティングシステムOS)で同じように動作させることができる。

この方式だと、開発者はJava以外の言語で特定のプラットフォーム向けに開発された外部のプログラムの機能を利用したり、逆に外部のプログラムからJavaプログラムを呼び出したりすることができないため、両者の橋渡しを可能にする標準的な方法としてJNIが定められた。

C言語C++言語アセンブリ言語などでプログラム開発する際に、JNIの仕様に則ってコードを記述すると、関数などをJavaプログラムから呼び出して実行し、結果をJavaプログラム側へ返却するような仕組みを作ることができる。逆に、JVMに対して特定のJavaプログラム実行を依頼するようなネイティブコードプログラム開発することもできる。

JNIは、Javaの仕様の範囲ではどうしても開発することができない特定のハードウェアOSの機能を利用するプログラムが必要な場合や、機種固有のネイティブコードによって高速に実行したい箇所がある場合などに利用される。ネイティブコードの形式はCPUOSの種類によって様々であるため、JNIで連携している部分についてはターゲット環境以外では動作しなくなる。

(2022.8.18更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる