Profiler是唯一一款獲過獎的Java剖析器。JProfiler直觀的用戶界面能夠幫助你找到性能瓶頸,並指明你的內存漏洞和解決線程問題。
JProfiler's 特徵:
- 內存剖析
JProfiler的內存視圖部分可以提供動態的內存使用狀況更新視圖和顯示關於內存分配狀況信息的視圖。所有的視圖都有幾個聚集層並且能夠顯示現有存在的對象和作爲垃圾回收的對象。
- 所有對象
顯示類開發工具或在狀況統計和尺碼信息堆上所有對象的包。你可以標記當前值並顯示差異值。 - 記錄對象
顯示類或所有已記錄對象的包。你可以標記出當前值並且顯示差異值。 - 分配請求樹
顯示一棵請求樹或者方法、類、包或對已選擇類有帶註釋的分配信息的J2EE組件。 - 分配熱點
顯示一個列表,包括方法、類、包或分配已選類的J2EE組件。你可以標註當前值並且顯示差異值。對於每個熱點都可以顯示它的跟蹤開發工具記錄樹。
- 所有對象
- 堆遍歷
在JProfiler的堆遍歷器中,你可以對堆的狀況進行快照並且可以通過選擇步驟下尋找感興趣的對象。堆遍歷器有五個視圖:
- 類
顯示所有類和它們的實例。 - 分配
爲所有記錄對象顯示分配樹和分配熱點。 - 索引
爲單個對象和“顯示到垃圾回收根目錄的路徑”提供索引圖的顯示功能。還能提供合併輸入開發工具視圖和輸出視圖的功能。 - 數據
爲單個對象顯示實例和類數據。 - 時間
顯示一個對已記錄對象的解決時間的柱狀圖。
- 類
- CPU剖析器
JProfiler提供不同的方法來記錄請求樹以優化性能和細節。線程或者線程組以及線程狀況可以被所有的視圖選擇。所有的視圖都可以聚集到方法、類、包或J2EE組件等不同層上。CPU視圖部分包括:
開發工具 - 請求樹
顯示一個積累的自頂向下的樹,樹中包含所有在JVM中已記錄的請求隊列。JDBC,JMS和JNDI服務請求都被註釋在請求樹中。請求樹可以根據servlet和JSP對URL的不同需要進行拆分。 - 熱點
顯示消耗時間最多的方法的列表。對每個熱點都能夠顯示回溯樹。該熱點可以按照方法請求,JDBC,JMS和JNDI服務請求以及按照URL請求來進行計算。 - 請求圖
顯示一個從已選方法、類、包或J開發工具2EE組件開始的請求隊列的圖。
線程剖析
對線程剖析,JProfiler提供以下視圖:
- 線程歷史
顯示一個與線程活動和線程狀態在一起的活動時間表。 - 線程監控
顯示一個列表,包括所有的活動線程以及它們目前的活動狀況。 - 固定探測圖表
顯示一個包含了所有在JVM裏的固定的圖表。 - 開發工具 目前使用的監測器
顯示目前使用的監測器並且包括它們的關聯線程。 - 歷史檢測記錄
顯示重大的等待事件和阻塞事件的歷史記錄。 - 監測使用狀態
顯示分組監測,線程和監測類的統計監測數據。
VM 遙感勘測技術
觀察JVM的內部狀態,JProfiler提供了不同的遙感勘測視圖,如下所示:
- 堆
顯示開發工具一個堆的使用狀況和堆尺寸大小活動時間表。 - 對象
顯示一張關於活動對象與數組的圖表的活動時間表。 - Garbage collector
顯示一張關於垃圾回收活動的活動時間表。 - 類
顯示一個與已裝載類的圖表的活動時間表。 - 線程
顯示一個與動態線程圖表的活動時間表。
原文來自 http://www.fanganwang.com/product/4273