20

如这里的屏幕截图所示,0 个活动对象,9 个已分配对象。活动对象和分配对象有什么区别?

jvisualvm 截图

4

2 回答 2

14

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

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

于 2011-08-28T16:09:11.787 回答
4
  • 分配的对象是自应用程序启动(或重置)以来已创建的所有对象
  • 活动对象是您的程序正在积极使用的可访问对象(可能仍在年轻一代中)
于 2011-01-31T13:27:37.583 回答