打印

[求助] 询问一个JAVA的题目

询问一个JAVA的题目

题目是:
Given:
class CardBoard {
Short story = 5;
CardBoard go ( CardBoard cb ) {
cb = null;
return cb;
}
public static void main ( String[] args ) {
CardBoard c1 = new CardBoard ( ) ;
CardBoard c2 = new CardBoard ( ) ;
CardBoard c3 = c1.go ( c2 ) ;
c1 = null ;
// do Stuff
}
}

When // do Stuff is reached, how many objects are eligible for GC?
A. 0
B. 1
C. 2
D. Complilation fails.
E. It's not possible to know.
F. An execption is thrown runtime.


选啥? 解释?

TOP

SCJP 报考指南上的一道题目,不会做,看不懂~~~

TOP

C 2个。
首先: c1 = null ,所以c1符合垃圾回收条件。
再是c2,因为c2的引用被传入go()方法后,也被cb = null,置为null,也符合了垃圾回收条件。

如果楼主还有scjp认证的考题可以发到“其他认证区”,这样我看到得会快很多。我们可以一起讨论,我也正在备考。

[ 本帖最后由 非常菜 于 2007-5-21 23:19 编辑 ]

TOP

答案对了,但是和书上解释不一样喔

书上答案: C正确。 只有一个CardBoard object ( c1 ) 符合条件,但是他具有一个关联的Short包装器对象,他也符合条件。

TOP