Q
JavaアプリケーションでJNI(Java Native Interface)を使用しているか、調べる方法はありませんか。
A
Javaの起動時オプションに、次のオプションを指定するとJNIの使用状況が確認できます。
-verbose:jni
表示例を以下に示します。class自体にJNIを使用すると、下記の最後の行のようにclass中のJNIの情報が表示されます。
[Dynamic-linking native method java.lang.StrictMath.pow ... JNI]
[Dynamic-linking native method java.lang.Float.intBitsToFloat ... JNI]
[Dynamic-linking native method java.lang.Double.longBitsToDouble ... JNI]
(中略)
[Dynamic-linking native method java.io.WinNTFileSystem.getLength ... JNI]
[Dynamic-linking native method java.lang.ClassLoader.defineClass0 ... JNI]
[Dynamic-linking native method HelloWorld.displayHelloWorld ... JNI]
ただし、Javaのランタイムライブラリの中でもJNIを使用しているため、classファイルでJNIを使用していなくてもJNIの情報が表示されることがあります。