【发布时间】:2017-06-07 18:48:50
【问题描述】:
给定一个java中的自定义链表实现(来自Cracking The Coding Interview)
public class Node {
public Node next = null;
public int data;
public Node(int d) {
data = d;
}
protected void appendToTail(int d){
Node end = new Node(d);
Node n = this;
while (n.next != null) {
n = n.next;
}
n.next = end;
}
}
如果我们要从中创建一个链表,然后在没有临时变量的情况下迭代它以指向原始头部,即
Node list = new Node(5);
list.appendToTail(2);
list.appendToTail(4);
给我们一个清单
5 -> 2 -> 4
如果我发出会发生什么
list = list.next;
这会不会像在 C 中那样是内存泄漏?还是 Java 会进行垃圾收集?
【问题讨论】:
标签: java memory-leaks