jvisualvm 活动对象和已分配对象之间的差异

2022-09-02 10:34:04

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

jvisualvm screenshot


答案 1

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

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


答案 2
  • 已分配对象是自应用程序启动(或重置)以来创建的所有对象
  • 活动对象是程序正在积极使用的可访问对象(可能仍在年轻一代中)

推荐