【发布时间】:2011-04-01 14:53:03
【问题描述】:
即使得到正确答案,我也无法弄清楚 SCJP 的问题:
从以下代码(来源:http://scjptest.com)中,我们需要确定引用为 myInt 的对象何时有资格进行垃圾回收:
01.public void doStuff() {
02. Integer arr[] = new Integer[5];
03. for (int i = 0; i < arr.length; i++) {
04. Integer myInt = new Integer(i);
05. arr[i] = myInt;
06. }
07. System.out.println("end");
08.}
答案表明它符合第 6 行的 GC 条件。但我认为该对象直到第 7 行之后才符合 GC 条件。因为,被引用为 myInt 的对象也被称为 arr[i] 为好。所以,你不觉得,因为在 myInt 超出范围之后, arr[] 直到第 8 行仍然有对它的引用?
【问题讨论】:
标签: java garbage-collection scjp