据我所知,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的垃圾回收机制如何处理这种情况?(或者只是内存泄漏吗?)