我在阅读有关垃圾回收的内容。我们知道,垃圾回收会收集死亡对象并回收内存。
我的问题是,回收器如何知道任何对象已经死亡?
它使用什么数据结构来跟踪活动对象?
我正在研究这个问题,发现垃圾回收实际上会跟踪活动对象并对其进行标记。任何未被标记的对象都被视为死亡。我猜测,某种名为 object-tree
的东西被用于此目的。但我不知道其工作原理。
以下是我的问题列表:
- 什么是
object-tree
? new
关键字创建对象时,object-tree
受到什么影响?- 谁维护这个树?JVM、GC,还是对象存储在堆中的方式?