SCJP第3章中有一個問題。
請看下面的代碼:確定有多少物品符合GC要求
public class Sample_1 {
Short story = 200;
Sample_1 go(Sample_1 sample){
sample = null;
return sample;
}
public static void main(String a[]){
Sample_1 sample1 =new Sample_1();
Sample_1 sample2 =new Sample_1();
Sample_1 sample3 = sample1.go(sample2);
sample1 = null;
//DO STUFF
}
}
問:如何許多對象資格GC @行//DO STUFF
?
選項:
編譯失敗
它不可能知道
一個例外是在運行時拋出
書上說:正確的ansert爲2,並說「只有一個Sample_1對象(sample1)符合GC的條件,但它與它具有關聯的Short值。因此,有兩個對象可供GC使用」「
仍然無法理解此答案。我們已經將sample1對象歸零。在我看來,沒有GC的對象。
任何想法?