一道垃圾回收机制的问题

yzksoso 2008-01-03 06:29:32
程序如下,问在第几地或者哪几行执行完有可能执行垃圾回收:
class Test
{
public static void main(String[] args){
1. Test a=new Test();
2. Test b=new Test();
3. Test c=new Test();
4. a=b;
5. a=c;
6. c=null;
7. a=null;
}
}
...全文
150 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
action_520_12 2008-01-04
  • 打赏
  • 举报
回复
又是scjp迷惑人的东东
YeLang2007 2008-01-04
  • 打赏
  • 举报
回复

其实对象是否可以被回收器回收,只要看这个对象是否还在被哪个变量引用了,也就是如果没有任何变量引用这个对象的话,
就可以被回收,但何时回收我们无法控制,也无法知道.
YeLang2007 2008-01-04
  • 打赏
  • 举报
回复

为什么有这个呀:

a=b; // a以前的对象可以被回收

我不太同意的,但下一个答案我也认可...
octops 2008-01-04
  • 打赏
  • 举报
回复
学习
rock8108 2008-01-04
  • 打赏
  • 举报
回复
学习
yzksoso 2008-01-03
  • 打赏
  • 举报
回复
谢谢
zenny_chen 2008-01-03
  • 打赏
  • 举报
回复
同意楼上的分析。
老紫竹 2008-01-03
  • 打赏
  • 举报
回复
class Test
{
public static void main(String[] args){
1. Test a=new Test();
2. Test b=new Test();
3. Test c=new Test();
4. a=b; // a以前的对象可以被回收
5. a=c;
6. c=null;
7. a=null; // c以前的对象可以被回收
}
}

62,623

社区成员

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

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