JProfiler:关于使用工具查看CPU占用情况

图片描述

Student.java

public class Student {

}

Client.java

public class Client {

public static void main(String[] args) {

while (true) {

try {

Thread.sleep(1000);

new Student(); // 创建对象

System.out.println("Working...");

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

在 Call Tree 中直接就100%了,比较费解这段代码这么占CPU呢?
图片描述

查看了官方文档也没具体介绍这里显示的是什么,只是说CPU,而且这里有浅红色、深红色两种颜色,有用过JProfiler的知道为啥占用情况这么高吗?

回答:

clipboard.png

clipboard.png

JProfiler 提供不同的方法来记录访问树以优化性能和细节。线程或者线程组以及线程状况可以被所有的视图选择。所有的视图都可以聚集到方法、类、包或J2EE组件等不同层上。CPU视图部分包括四个部分:
访问树 Call Tree
显示一个积累的自顶向下的树,树中包含所有在JVM中已记录的访问队列。JDBC,JMS和JNDI服务请求都被注释在请求树中。请求树可以根据Servlet和JSP对URL的不同需要进行拆分。
热点 Hot Spots
显示消耗时间最多的方法的列表。对每个热点都能够显示回溯树。该热点可以按照方法请求,JDBC,JMS和JNDI服务请求以及按照URL请求来进行计算。
访问图 Call Graph
显示一个从已选方法、类、包或J2EE组件开始的访问队列的图。
方法统计 Method Statistis
显示一段时间内记录的方法的调用时间细节。

所以,你的100%表示的是:访问树 Call Tree,显示一个积累的自顶向下的树,树中包含所有在JVM中已记录的访问队列。JDBC,JMS和JNDI服务请求都被注释在请求树中。请求树可以根据Servlet和JSP对URL的不同需要进行拆分。

以上是 JProfiler:关于使用工具查看CPU占用情况 的全部内容, 来源链接: utcz.com/p/173161.html

回到顶部