我当时正在开发仅支持JNI而不支持JVMTI的软件。但是我无法明确区分为什么JVMTI实际上会有所帮助,以及它以前是否与JNI一起使用,而不是JVMTI将要添加的东西,因为他们似乎在做某种工作。
最佳答案
顾名思义,JNI用于将本机代码集成到Java应用程序中。这意味着您可以从Java代码中调用用C编写的函数。
现在,JVMTI不必为JNI添加任何内容,因为它的用途完全不同。它提供了JVMTI代理和Java虚拟机之间的通信手段,用于探查器,调试器等工具。它仅使用JNI,但并未真正添加任何东西。