SCJP第三章有一个问题。
请参阅以下代码:
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@line 条件//DO STUFF
?
options:
0
1
2
Compilation Fails
Its not possible to know
运行时抛出异常
书上说:正确的断言是 2。它说“只有一个 Sample_1 对象(sample1)有资格进行 GC,但它有与之关联的 Short 值。所以有两个对象符合 GC”
仍然无法理解这个答案。我们已经在清空 sample1 对象。在我看来,GC 没有对象。
任何的想法?