jvisualvm活动对象和分配对象之间的区别

时间:2011-01-27 20:46:29

标签: java jvisualvm

如截图所示,0个活动对象,9个已分配对象。实时和分配对象之间有什么区别?

jvisualvm screenshot

2 个答案:

答案 0 :(得分:13)

分配的对象数不是垃圾收集器尚未回收的对象数。相反,它是自应用程序启动以来创建的对象数,或者是因为VisualVM中“收集结果缓冲区”的重置(内存分析器视图中有一个按钮用于重置收集的结果缓冲区)。

活动对象是那些垃圾收集器尚未回收的对象;这可能包括无法访问的对象,并且肯定会包含应用程序仍在使用的对象。

答案 1 :(得分:3)

  • 分配的对象是自应用程序启动(或重置)
  • 以来创建的所有对象
  • 活动对象是程序正在使用的可访问对象(可能仍在Young Generation中)