一道垃圾收集的面试题

minhw 2010-05-06 10:24:59
public class X{

public Object m(){

Object o = new Float(3.14F);//line 3

Object [] oa = new Object[1];//line 4

oa[0] = o;//line 5

o=null;//line 6

return oa[0];//line 7

}

}

When is the Float object, created in line 3,eligible for garbage collection?
A.just after line 5.
B.just after line 6
C.just after line 7(that is,as the method returns)
D.never in this method
...全文
143 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
youngplayee 2010-05-31
  • 打赏
  • 举报
回复
其实这个还是考深拷贝与浅拷贝。如果这个数组换成vector,恐怕结果就不一样了。
笑_笑_ 2010-05-06
  • 打赏
  • 举报
回复
路过,顶!
minhw 2010-05-06
  • 打赏
  • 举报
回复
有道理
楼上的
soli11722984 2010-05-06
  • 打赏
  • 举报
回复

public class X{
public Object m(){
Object o = new Float(3.14F);//o引用指向new Float(3.14F)实例
Object [] oa = new Object[1];
oa[0] = o;//oa[0]引用和o引用同时指向了new Float(3.14F)实例
o=null;//o引用指向null,就是o引用不再指向任何实例
return oa[0];//返回oa[0]引用的实例
}
}


所以在方法体内new Float(3.14F)不会被清空,但是有没有类似
Object oo = m();这样就不知道了
如果有,oo就指向了new Float(3.14F)实例,然而oa[0]引用就会志为null,到最后那个实例还是没被清空
wuwenjie0506 2010-05-06
  • 打赏
  • 举报
回复
D,最后没有引用的时候GC才会垃圾回收.
minhw 2010-05-06
  • 打赏
  • 举报
回复
楼上的理由?
soli11722984 2010-05-06
  • 打赏
  • 举报
回复
D?

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧