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 ビュー セクションには 4 つの部分が含まれています。
アクセス ツリー コール ツリー
JVM に記録されたすべてのアクセス キューを含む、蓄積されたトップダウン ツリーを表示します。 JDBC、JMS、および JNDI サービス リクエストはすべて、リクエスト ツリーに注釈が付けられます。リクエスト ツリーは、URL に対するサーブレットと JSP のさまざまなニーズに基づいて分割できます。
ホットスポット
最も時間を消費するメソッドのリストを表示します。ホットスポットごとにトレースバック ツリーを表示できます。ホットスポットは、メソッド リクエスト、JDBC、JMS、および JNDI サービス リクエストごと、および URL リクエストごとに計算できます。
Call Graph
選択したメソッド、クラス、パッケージ、または J2EE コンポーネントから始まるアクセス キューのグラフを表示します。
メソッド統計 Method Statistics
一定期間にわたって記録されたメソッドの呼び出し時間の詳細を表示します。
つまり、あなたが 100% 表すのは次のとおりです: アクセス ツリー コール ツリー。JVM に記録されたすべてのアクセス キューを含む、蓄積されたトップダウン ツリーを表示します。 JDBC、JMS、および JNDI サービス リクエストはすべて、リクエスト ツリーに注釈が付けられます。リクエスト ツリーは、URL に対するサーブレットと JSP のさまざまなニーズに基づいて分割できます。