java的链表栈实现中是否存在徘徊的概念? 在从链表中删除节点之前,是否需要通过将节点的内容设置为 null 来释放内存?或者这样做是否同样好,因为无论如何都不会引用我的旧第一个节点?谢谢!
public Item pop() {
if (isEmpty())
throw new StackEmptyException("Stack Empty");
Item item = first.item;
first.item = null;
first = first.next;
return item;
}
最佳答案
它确实存在,但您不太可能需要担心它。
就您的情况而言,在 first = first.next
之后,Java GC 将识别出 first
指向的旧节点现在无法访问,因此可以被收集。
关于java - Java 的链表堆栈实现中的徘徊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319687/