JDK 本身定义了目标明确并功能完善的JNI( Java Native Interface ) 与虚拟机直接进行交互,这些 API 能很方便的进行扩展,从而满足开发者各式的需求.
JVMTI( JVM Tool Interface) ,是JAVA虚拟机提供的本地接口,它是实现调度器以及其它Java运行测试与分析 工具 的基础.
并不一定在所有的JDK提供商都有实现,但在主流的Oracle JDK、Open JDK上都有其实现.
在开发的过程中一般是使用Agent的方式来使用JVMTI,通过调用JVMTI的函数,从JVM中得到当前的运行信息.