class ClassA {
ClassB mem1 = new ClassB();
ClassB mem2 = new ClassB();
}
class ClassB {
}
public class Sample {
public static void main(String[] args) {
ClassA obj1 = new ClassA();
ClassB obj2 = obj1.mem1;
obj1 = null;
obj2 = null;
}
}
在上面的程序中,行後發生了什麼:obj1 = null
?當對象被解除引用但其成員對象仍被引用時會發生什麼?
是obj1準備好垃圾收集,即使其中一個成員對象仍在被引用?
他們無法訪問了。 – Maroun 2015-01-04 12:23:40
它有資格使用GC – amit 2015-01-04 12:24:44
[適用於Java的垃圾回收變量的可能變量](http://stackoverflow.com/questions/13634766/eligible-variables-for-garbage-collection-in-java) – Joe 2015-01-04 12:26:17