Java堆查看器:VisualVM

jopen 11年前

新发布的VisualVM 1.3.7引入了一些很酷的新功能。最有趣的是在堆查看器上显示对象的“逻辑值”,包括:例如字符串值,文件路径,甚至UI元素的预览。本文将会做详细描述。

VisualVM:Java堆查看器
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),引用对象,线程对象和许多其他类型。

VisualVM:Java堆查看器
String values of ThreadGroups and Threads

提供所选对象的详细信息,特别预览区域已被添加到该实例视图。完整的字符串值或基本数组项以及颜色,字体或图像预览显示在这里。

VisualVM:Java堆查看器
Preview of an int[] array

预览区域也可以呈现标签或按钮的UI元素或面板和框架的内容到主应用程序窗口中。这样,当发生OutOfMemoryError时堆查看器可以帮助可视化应用程序状态的错误点,发现泄露对话框并找出重复的资源。



VisualVM:Java堆查看器
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