D'après ce que je comprends, le garbage collection en Java nettoie certains objets si rien d'autre ne «pointe» vers cet objet.
Ma question est, que se passe-t-il si nous avons quelque chose comme ça:
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
et c
doivent être récupérés, mais ils sont tous référencés par d'autres objets.
Comment le garbage collection Java gère-t-il cela? (ou est-ce simplement un drain de mémoire?)