2012-04-09 8 views
0

JAVAでアプリケーション全体を開発するときにJNIがネイティブにアクセスする必要があるのはなぜですか。JNIの正確な必要性は何ですか?

よろしく、 Sujanian

+2

JNIは、Javaでは実行できないもの(存在するもの)、またはJavaで実行できますが、ネイティブコードではより効率的に処理できます。 – Mat

答えて

0

あなたはJavaでアプリケーション全体を開発することができないときJNIは、必要とされています。これは、たとえば、Cでのみ利用可能なレガシーライブラリがある場合や、システムドライバと通信する必要がある場合などに発生します。純粋なJavaでアプリケーション全体を書くことができれば、もちろんJNIは必要ありません。

0

純粋なJavaでアプリケーション全体を開発できる場合、JNIは必要ありません。それも好ましい方法です。しかし

  • 既存のネイティブコードライブラリに呼び出したいことがあります。 Javaでそれらを書き直すことは可能かもしれませんが、それは後で2つのバージョンを維持したり、ポート内で多くの作業をする可能性があります)ハードウェアと会話するためにいくつかの低レベルコードを書く必要があるかもしれません。 JVMがあなた

0

はなぜ我々はJAVAで全体 アプリケーションを開発することができたときにネイティブにアクセスするためにJNIを必要としないことはできません方法で、直接/ OS。

これにより、アプリケーション全体を常にJavaで開発できると主張している場合は間違っています。あなたはいつもそれをすることはできませんし、JNIはギャップをカバーするためにそこにあります。

一方、 'when'の代わりに 'if'を意味するのであれば、その場合、JNIは必要ないということです。

関連する問題