2
鑑於Java的自定義鏈表實現(從裂解編碼採訪)自定義鏈接列表實現垃圾收集
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垃圾收集?
看看[這口氣](https://stackoverflow.com/questions/6935579/garbage-collection-orphaned-linkedlist-links) –