Java 有多少对象符合gc条件
你能解释一下这个答案吗。。?如我所料,答案是CJava 有多少对象符合gc条件,java,garbage-collection,scjp,Java,Garbage Collection,Scjp,你能解释一下这个答案吗。。?如我所料,答案是C Given: 11. class Snoochy { 12. Boochy booch; 13. public Snoochy() { booch = new Boochy(this); } 14. } 15. 16. class Boochy { 17. Snoochy snooch; 18. public Boochy(Snoochy s) { snooch = s; } 19. } And the statements: 21. pub
Given:
11. class Snoochy {
12. Boochy booch;
13. public Snoochy() { booch = new Boochy(this); }
14. }
15.
16. class Boochy {
17. Snoochy snooch;
18. public Boochy(Snoochy s) { snooch = s; }
19. }
And the statements:
21. public static void main(String[] args) {
22. Snoochy snoog = new Snoochy();
23. snoog = null;
24. // more code here
25. }
关于snoog、snooch和booch在第23行执行后立即引用的对象,哪个语句是正确的
A. None of these objects are eligible for garbage collection.
B. Only the object referenced by booch is eligible for garbage collection.
C. Only the object referenced by snoog is eligible for garbage collection.
D. Only the object referenced by snooch is eligible for garbage collection.
E. The objects referenced by snooch and booch are eligible for garbage collection.
Answer: E
这两个类相互引用。因此,当创建
snoog
时,您还将得到booch
和snooch
。设置snoog=null时
、booch
和snooch
符合GC
的条件,这两个类相互引用。因此,当创建snoog
时,您还将得到booch
和snooch
。设置snoog=null时代码>、booch
和snooch
符合GC
第23行之后,没有指向第22行中创建的Snoochy
实例的引用。
=>此实例可以进行垃圾收集。
但此实例包含对一个Boochy
(参见第13行)的引用,该引用不存在其他引用这也可以是垃圾收集。在第23行之后,没有指向第22行中创建的Snoochy
实例的引用。
=>此实例可以进行垃圾收集。
但此实例包含对一个Boochy
(参见第13行)的引用,该引用不存在其他引用这也可以是垃圾收集。闻起来像是编码竞争:)是什么阻止了收集booch
?我希望是E。你说答案是C
,但你发布的问题说答案是E
。可能:顺便说一句,如果你认为booch
无法收集,这意味着,snoog
也不能被收集,因为booch
有一个引用。闻起来像是编码竞争:)停止收集booch
的是什么?我希望是E。你说答案是C
,但你发布的问题说答案是E
。可能:顺便说一句,如果你认为booch
无法收集,这意味着,snoog
也不能被收集,因为booch
引用了它。谢谢你们的回复…明白了:)谢谢你们的回复…明白了:)