1

JavaNativeInterfaceを介してJavaセキュリティポリシーに違反する可能性はありますか。JNIを使​​用する必要がある主な領域はどれですか

4

2 に答える 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 に答える