关于从链接列表中删除节点时的垃圾收集器

时间:2012-02-25 22:02:41

标签: java garbage-collection linked-list

这是我的LinkedList类中删除函数的示例代码,它从中间删除一个节点。

        temp.getPrev().setNext(temp.getNext());
        temp.getNext().setPrev(temp.getPrev());
        temp.setNext(null);
        temp.setPrev(null);

我的问题是我必须设置临时的下一个和prev引用null或垃圾收集器自动处理这个吗?如果你能帮助我,我将非常感激。无论如何,谢谢。

5 个答案:

答案 0 :(得分:2)

垃圾收集器分析是否有任何引用对象。由于在您的方法完成后没有对temp的引用,因此GC应该删除此对象。

答案 1 :(得分:1)

垃圾收集器会看到没有引用 temp。因此,您不必关心传出引用的归零 - 如果您不能再达到临时值,它将被垃圾收集(最终)。

答案 2 :(得分:1)

我认为你不应该这样做。该节点不再在任何地方被引用,因此即使它引用了有效的对象,它也会被垃圾收集。

答案 3 :(得分:1)

您必须确保没有对temp的实时引用。你不需要做任何额外的事情。

答案 4 :(得分:1)

GC仅接受对所考虑对象的引用。如果对象引用了其他对象并不重要。