(このサイトhttp://scjptest.com/で)質問がありました:このコードサンプルの行//にあるコードで、ガベージコレクションの対象となるオブジェクトの数はいくつですか?
class A {
private B b;
public A() {
this.b = new B(this);
}
}
class B {
private A a;
public B(A a) {
this.a = a;
}
}
public class Test {
public static void main(String args[]) {
A aa = new A();
aa = null;
// some code goes here
}
}
正解は、「aとbによって参照されるオブジェクトはガベージコレクションの対象です。」です。しかし、なぜ?それらは相互へのループ参照を含み、相互にアクセス可能です。
ありがとうございました!