垃圾收集双链表

时间:2017-07-04 18:58:26

标签: java

让我们说我已经实现了一个双向链表,其中有一个sentinal节点,每个其他节点都有一个指向前一个和下一个节点的指针。

看起来像这样:

第1项< - > Item2< - >项目3

我的sentinal将指向Item1和Item3

如果我将我的sentinal指针设置为null(不再指向Item1和Item 3),那么垃圾收集器是否会收集所有项目?

1 个答案:

答案 0 :(得分:-1)

如果您将节点指向了Item1和Item3,并且您通过引用null取消引用,则仍然有从item2到item1以及从item2到item3的引用。所以他们没有资格进行垃圾收集。 一般来说,“垃圾收集器会收集所有物品吗?”原则上是错误的,因为对象只能用于垃圾收集,但是没有这样的保证(该对象将被垃圾收集)。