Java堆查看器:VisualVM
新發布的VisualVM 1.3.7引入了一些很酷的新功能。最有趣的是在堆查看器上顯示對象的“邏輯值”,包括:例如字符串值,文件路徑,甚至UI元素的預覽。本文將會做詳細描述。
Application JFrame rendered from .hprof heap snapshot
此版的發布還有其他的改進包括在線程視圖中顯示Park狀態,支持遠程內存采樣(Java 8的應用程序),并顯示CPU Hot Spots的總時間值。該分析器根據需要校準目標應用的JVM,并允許管理校準數據(工具|選項|分析)。 JMX連接提供新的選項不要求SSL來抑制安全性警告。
讓我們來探討更多堆查看器改進的細節。第一個變化是在所有視圖中顯示對象的邏輯值。這包括基于字符串的對象(String, File or URL),基于數值的對象(Integer, Long or Float),基本AWT類(Point, Dimension or Rectangle),引用對象,線程對象和許多其他類型。
String values of ThreadGroups and Threads
提供所選對象的詳細信息,特別預覽區域已被添加到該實例視圖。完整的字符串值或基本數組項以及顏色,字體或圖像預覽顯示在這里。
Preview of an int[] array
預覽區域也可以呈現標簽或按鈕的UI元素或面板和框架的內容到主應用程序窗口中。這樣,當發生OutOfMemoryError時堆查看器可以幫助可視化應用程序狀態的錯誤點,發現泄露對話框并找出重復的資源。
JPanel rendered from .hprof heap snapshot
Go and download VisualVM for free to see what's in your heap!
原文:http://java.dzone.com/articles/visualvm-see-whats-your-heap
來自:http://blog.sina.com.cn/s/blog_756e07630101i13q.html