我正在使用Eclipse + MAT插件。我可以看到一个.hprof文件堆历史记录,我拿了两个我的Java应用程序的快照。我希望当我比较两个堆转储时,我可以确定哪些对象实例增加了很多,以便我可以识别内存泄漏的可能性。
netbean能做到吗?
答案 0 :(得分:2)
可以做到。请参阅IBMs blog。
基本上你打开两个,然后在直方图中有一个额外的按钮(最右边的一个)来比较它。
答案 1 :(得分:0)
类名:在应用程序中实例化的类,占用内存
对象:在另一个堆转储的上方或下方的计数。
浅堆::给定类在另一个堆转储的上方或下方的内存中占用的字节数。
由于MAT默认情况下按降序排序,因此我建议切换 Objects 和 Shallow Heap 列的顺序,以查看每个双向。
通常,您应该忽略纯Java类,例如Strings,Arrays和Maps,并专注于您的应用定义的类。