JNIについて
【JNIの概要】
JNI(Java Native Interface)は、Javaで記述されたプログラムが、他のプログラミング言語で書かれたライブラリやアプリケーションと相互に運用できるようにする仕組みです。他のプログラミング言語とは、C言語、C++、アセンブリ言語などを指します。Java仮想マシン(JVM)上に各プラットフォームで実行できる形式に変換したコードを呼び出し、利用可能にするのがJNIの役割です。JNIを案件で使用するメリットの一つは、JVMの実装に際して制限が課されないことです。また、JNI案件に参画するフリーランスプログラマーにとっては、1バージョンのライブラリまたはアプリケーションを記述することで、JNIがサポートされる全JVM上で動くようになるのも利点だといえるでしょう。JNIはJVMのコード「Java」「ネイティブ」の間に、プラットフォームに依存することのないインターフェースを設けます。ネイティブメソッドや呼び出しAPIといった方法をとることで、JNI案件でJavaとネイティブコードの併用が可能になります。Javaだけでもアプリケーションの記述はできますが、フリーランスJNI案件ごとの細かいニーズを満たすのが難しいケースもあります。フリーランス案件でJNIのネイティブメソッドを記述すれば、そのような場合に対処できるでしょう。
※この文章は、2021年11月時点の内容です