2008-12-21 46 views

回答

5

我使用Netbeans IDE,它可以分析任何類型的Java項目,包括webapps。一旦您在Netbeans中完成項目設置,您只需點擊Profile並回答一些簡單的問題。

創建一個新項目並將現有代碼導入它是非常容易的。

你可以在這裏看到的這個畫面:http://profiler.netbeans.org/

你可以從這裏下載Netbeans的:http://www.netbeans.org/

VisualVM的也可能爲你工作。還有一些可用的插件。自從JDK 6更新版本7以來,VisualVM一直在使用JDK。您可以在這裏查看:https://visualvm.dev.java.net/

3

jconsole可以給你彙總統計。我在過去一直使用它來加載測試來推斷加載類的大小(通過在加載對象的LOTS時注意使用前後的使用情況)。請注意,使用情況持續上升,直到觸發垃圾回收爲止,所以您將需要考慮計算中的瞬態對象。

3

嘗試使用JRockit Mission Control附帶的內存泄漏檢測器。它可以顯示堆中最常見的類型以及它們的增長程度。

alt text http://download.oracle.com/docs/cd/E11035_01/jrockit/intro/wwimages/memleak2.gif

您還可以通過運行jrmcd命令可用在JROCKIT_HOME \ bin目錄中獲得通過命令行的統計數據。例如,

jrcmd <pid> print_object_summary

會給你

31.8% 3198k 41907 -137k [C 
11.9% 1196k  300  +0k [B 
11.4% 1151k 49118  +6k java/lang/String 
6.1% 612k  5604  +0k java/lang/Class 
4.3% 431k  2388  +0k [I 
3.5% 353k 15097  +0k java/util/HashMap$Entry 
... 

它是免費使用的開發和評估。

相關問題