JavaNativeInterfaceを介してJavaセキュリティポリシーに違反する可能性はありますか。JNIを使用する必要がある主な領域はどれですか
1461 次
2 に答える
4
Java のセキュリティ ポリシーは、JNI 経由で呼び出されるネイティブ コードにはまったく適用されないため、ネイティブ コードは自由に違反する可能性があります。
私たちが JNI を使用していたのは、最近では主に OS 固有の API を呼び出したり、既存の非 Java コードとインターフェースしたりすることです。以前はパフォーマンスの向上が頻繁に挙げられる理由でしたが、現在の VM と JIT コンパイラの状態を考えると、それはほとんど意味がありません。
于 2009-08-24T10:47:17.060 に答える
1
はい、JNIを介してネイティブコードを呼び出すと、現在のユーザーに許可されているほとんどすべてのことを実行できます。たとえば、すべてのファイルを削除します。Javaシステムは、ネイティブコードが行うことをポリシングできません。
JNIを使用する必要はありません。通常、低レベルのアクセス(リムーバブルドライブの重大なエラー処理など)や、純粋なJavaに相当するものがないCAPIへのアクセスに使用されます。
于 2009-08-24T10:44:58.220 に答える