jvm tool interface
这里简单说明了说明jvm ti的用途,机制。相当于科普,理解过程就可以。具体的细节可以参考官网文档。
一、描述
- 可以监视和控制
JVM
的接口(lowlevel)。JVM TI
可能不和一些JVM兼容 。 - 包含且不限于:
预编译
、debug
、监控
、线程分析
等功能 。 JVM TI
是一个双向接口,基于event 事件机制。JVM TI Client
也叫agent
,可以被指定的事件唤醒callbacks
,执行agent的实现的功能。也可以使用JVM TI JVM
下发指令(相当于JVM内置了JVM TI
,一个server
的角色)。- agent跑在
jvm
的进程里,可以和jvm
通过JVM TI
直接通信 。 JVMTI
是一套本地代码接口,因此使用JVMTI
需要我们与C/C++
以及JNI
打交道。写一个agent
也是使用C/C++
二、机制
有兴趣可以先了解下JNI机制,java和第三方语言库的链接机制
java
启动或运行时,动态加载一个外部基于JVM T