我对 Java 中的垃圾收集如何工作感到有些困惑。
当不再有对它的实时引用时,我知道一个对象有资格进行垃圾回收,但是如果它有对实时对象的引用怎么办?
可以说我有一个节点集合再次引用更多节点
List
1 -> Node a -> Node b
2 -> Node c -> Node d
3 -> Node d -> Node c
4 -> Node e
5
现在如果我删除列表,节点 cd 和 e 应该被垃圾收集。节点 e 不再引用它,节点 c 和 d 有循环引用。
但是节点 a 呢?会被垃圾回收吗?
节点 b 是否具有外部实时引用会有所不同吗?假设节点 b 从不同的地方引用它,这会使节点 a 留在内存中吗?