System.gc();和System.runFinalization();是什么区别,感谢。

立志做一个佳娃~ 2006-03-22 06:17:27
System.gc();和System.runFinalization();是什么区别,感谢。
...全文
323 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
TONYBLARED 2006-03-22
  • 打赏
  • 举报
回复
是个好问题。
weinickli 2006-03-22
  • 打赏
  • 举报
回复
mark
liang8305 2006-03-22
  • 打赏
  • 举报
回复
楼上的说法似乎不对

class Test{

public void finalize()
{
System.out.println("finalize()");
}
public static void main(String []args)
{
System.out.println("Test a=new Test();");
Test a=new Test();
Test b=new Test();
Test c=new Test();

System.out.println("a=null;");
a=null;
b=null;
c=null;

System.out.println("System.runFinalization();");
System.runFinalization();
System.out.println("Runtime.getRuntime().runFinalization();");
Runtime.getRuntime().runFinalization();

System.out.println("System.gc();");
System.gc();

}
}

只打印出了3次finalize()
而且都是因为System.gc();而调用的....

学习中....等待高人解答.....
zx2002027 2006-03-22
  • 打赏
  • 举报
回复
System.gc();强制垃圾回收器释放无任何引用的对象空间
System.runFinalization是调用已经失去引用的对象的finalize方法,可以认为与垃圾收集无关。
http://niuy.com/programme/3930/3930352.htm

62,629

社区成员

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

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