JProfiler性能分析工具详解
时间:2019-09-18 浏览次数:64 编辑:user03
JProfiler for Mac是一款运行在Mac平台上的全功能Java剖析工具,这款java代码分析开发软件能够帮助您在编程的过程中快速的剖析java,旨在帮助用户更加方便快捷的进行JAVA操作。今天我们一起来了解JProfiler性能分析工具的原理吧!
1.简介
JProfiler 是一个商业授权的 Java 剖析工具,用于分析Java EE和Java SE应用程序.
2.JVMTI
JDK 本身定义了目标明确并功能完善的JNI( Java Native Interface ) 与虚拟机直接进行交互,这些 API 能很方便的进行扩展,从而满足开发者各式的需求.
JVMTI( JVM Tool Interface) ,是JAVA虚拟机提供的本地接口,它是实现调度器以及其它Java运行测试与分析 工具 的基础.
* 并不一定在所有的JDK提供商都有实现,但在主流的Oracle JDK、Open JDK上都有其实现.
* 在开发的过程中一般是使用Agent的方式来使用JVMTI,通过调用JVMTI的函数,从JVM中得到当前的运行信息.
3.JProfiler内部模型
4.JProfiler数据采集的原理
1.用户在JProfiler GUI中下达监控命令( 对应用户的一个点击 ).
2.JProfiler GUI通过自身Socket的8849端口向位于JVM的JProfiler Agent发送监控指令.
3.JProfiler Agent收到指令后向JVMTI注册事件或执行相关的命令.
4.JVMTI根据事件和命令的类型返回相对应的数据( 线程状态、对象实例、CPU负荷、GC状态信息等)
5.JProfiler Agent从JVMTI中得到相应数据后将对其进行计算,最终通过Socket传输给JProfiler GUI中进行展示.