Ans*_*hul 1 java garbage-collection
问:02鉴于:
11. public void genNumbers() {
12. ArrayList numbers = new ArrayList();
13. for (int i=0; i<10; i++) {
14. int value = i * ((int) Math.random());
15. Integer intObj = new Integer(value);
16. numbers.add(intObj);
17. }
18. System.out.println(numbers);
19. }
Run Code Online (Sandbox Code Playgroud)
哪一行代码标志着intObj引用的对象成为垃圾收集候选者的最早点?
A. Line 16
B. Line 17
C. Line 18
D. Line 19
E. The object is NOT a candidate for garbage collection.
Run Code Online (Sandbox Code Playgroud)
答案:D
困惑为什么答案是D而不是B.请帮助我理解.提前致谢!
您可能认为,因为变量生存期在块结束时结束,所以对象可以被垃圾收集器删除.但是由于该对象已添加到列表中numbers,因此仍然会引用它.因此,它是在结束的生命周期之后,numbers列表也可以被垃圾收集器删除.
| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |