Из моего понимания, сборка мусора в Java очищает некоторый объект, если ничто иное не указывает на этот объект.
Мой вопрос: что произойдет, если у нас есть что-то вроде этого:
class Node {
public object value;
public Node next;
public Node(object o, Node n) { value = 0; next = n;}
}
//...some code
{
Node a = new Node("a", null),
b = new Node("b", a),
c = new Node("c", b);
a.next = c;
} //end of scope
//...other code
a
, b
и c
должны быть собраны мусор, но все они ссылаются на другие объекты.
Как с этим связано сборка мусора Java? (или это просто утечка памяти?)