【发布时间】:2016-05-16 09:07:24
【问题描述】:
所以我最近参加了工作面试,并被问到以下问题。 (其实只是个试写,所以问不出问题)
在 main 方法结束时,有多少对象可以进行垃圾回收?
public class Main {
public static void main(String[] args) {
Object obj;
for (int i = 0; i < 5; i++) {
obj = new Object();
}
obj = null;
}
}
(A) 0
(B) 1
(C) 5
我知道它是 0,因为至少有一个对象 (obj) 将被垃圾回收,但我也知道 obj 并不是真正的对象,它只是对它的引用。所以我的答案是 5。
正确吗?如果不是,那为什么?
【问题讨论】:
-
哇.. 单行子弹太多.. 顺便说一句 5 是正确答案
-
这太容易了。应该是
Five。但我也必须在哪一行提到??