public class GC {
private Object o ;
private void dosomethingElse(Object obj){o = obj ; }
public void dosomething() {
Object o = new Object() ;//第5行
dosomethingElse(o) ;//第6行
o = new Object() ;//第7行
dosomethingElse(null) ;//第8行
o = null ;//第9行
}//第10行
}
When doSomething method is called, after which line does Object created in
line 5 become available for garbage collection ?
書中給的答案是,第7行後第五行被created的Object才可以被GC
但是我覺得是第8行耶
因為到第7行的時候產生的Object仍然被GC內的成員o所reference
應該要到第8行讓它也指向null後,之前產生的Object才能被GC
不知道板友們的看法是?
謝謝唷…
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.69.23.252
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 9 篇):