JNI.h与JVMTi.h的比较

Ror*_*ach 2 java native-code

我正在开发一种软​​件,直到现在只支持JNI,而不支持JVMTI.但我无法明确区分为什么实际上JVMTI是有用的,如果它之前使用JNI而不是JVMTI将要添加到它,因为它们似乎在做同样的工作.

小智 5

顾名思义,JNI的目的是将本机代码集成到Java应用程序中.这意味着您可以从Java代码中调用用C编写的函数.

现在JVMTI不一定向JNI添加任何东西,因为它有完全不同的用途.它提供了JVMTI代理和Java虚拟机之间的通信方式,用于分析器,调试器等工具......它只使用JNI,但并没有真正添加任何东西.