将JVisualVM快照中的“已分配对象”与Java堆转储中的实例数进行比较

时间:2014-02-13 13:00:56

标签: java jvisualvm hprof

我正在使用JVisualVM来查看应用程序,我在内存分析器和快照中看到了SomeDomainClass的许多对象。此后不久生成的Java堆转储(.hprof文件)不包含SomeDomainClass的实例。因为内存分析器“显示分配的对象总数”,并且hprof文件包含堆中活动的对象,这是否表明应用程序正在创建SomeDomainClass的许多短期实例?

1 个答案:

答案 0 :(得分:1)

实际上,当您开始生成堆时,visualVM将在开始收集对象之前调用GC以确定活动对象。然后收集它们。

因此,如果你的Heap没有显示SomeDomainClass类的任何实例,那么SomeDomainClass时刻是短暂的,在其他世界中,这些实例在生成堆时没有任何引用