关于垃圾回收器的问题

beyondmk2001 2011-06-29 09:19:50
如下程序是测试垃圾回收器的。但却没有达到预期的效果。请高手分析原因。
每次运行的结果不尽相同,其中一次的结果如下:
Garbage #1 construct
Garbage #2 construct
Garbage #3 construct
Garbage #4 construct
Garbage #5 construct
Garbage #6 construct
Garbage #6 is clear away
以下是程序代码:

public class Garbage {
int index;
static int count;
Garbage(){
count++;
System.out.println("Garbage #"+count+" construct");
setID(count);
}
public void setID(int id){
index=id;
}
@Override
protected void finalize(){
System.out.println("Garbage #"+index+" is clear away");
}
public static void main(String[] args){
new Garbage();
new Garbage();
new Garbage();
new Garbage();
new Garbage();
new Garbage();
System.gc();
}

}
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangyonghua2009 2011-06-30
  • 打赏
  • 举报
回复
同意一楼的观点,在java中即使你调用gc()方法,垃圾回收器也有可能不进行回收。
茫茫大海 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qybao 的回复:]
垃圾回收是不确定的,即使你调用gc也不能保证垃圾立刻被回收
[/Quote]
支持!
小贝壳666 2011-06-30
  • 打赏
  • 举报
回复
垃圾回收是不确定的,即使你调用gc也不能保证垃圾立刻被回收
beyondmk2001 2011-06-30
  • 打赏
  • 举报
回复
明白了
qybao 2011-06-29
  • 打赏
  • 举报
回复
垃圾回收是不确定的,即使你调用gc也不能保证垃圾立刻被回收

62,612

社区成员

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

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