SCJPの第3章に質問があります...次のコードを参照してください...
class Beta{
}
class Alpha extends Beta{
static Beta b1;
Beta b2;
}
class Tester{
public static void main(String a[]){
Beta b1 = new Beta();
Beta b2 = new Beta();
Alpha a1 = new Alpha();
Alpha a2 = new Alpha();
a1.b1 = b1;
a1.b2 = b1;
a2.b2 = b2;
a1 = null;
b1 = null;
b2 = null;
//DO STUFF
//HOW MANY OBJECTS ARE ELIGIBE FOR GC AT THIS LINE..
}
}
Q:GC@行に適格なオブジェクトはいくつありますか//DO STUFF
オプション:
Option-1> 0
Option-2> 1
Option-3> 2
Option-4> 3
Option-5> 4
Option-6> 5
本によると:正しい答えは2です:1つのオブジェクトのみがGCの対象となります。
まだこの答えを理解することはできません。どのようにして1つのオブジェクトだけがGCの対象になりますか?
何か案が ??ありがとう、グンジャン。