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

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的知道为啥占用情况这么高吗?


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的不同需要进行拆分。

【热门文章】
【热门文章】