一道关于内存回收的问题
Given:
1. public class GC{
2. private Object o;
3. private void doSomethingElse(Object obj){o = obj;}
4. public void doSomething(){
5. Object o = new Object();
6. doSomethingElse(o);
7. o = new Object();
8. doSomethingElse(null);
9. o = null;
10. }
11. }
When the doSomething method is called, after which line does the Object created in line 5 become available for garbage collection?
选项为:
A. Line 5
B. Line 6
C. Line 7
D. Line 8
E. Line 9
F. Line 10
我个人认为选择E,可是答案给的是D,我有些疑惑,请高手给我解释下。