java提供了一个方法 System.gc().文挡说的挺模糊的.
我只想弄明白,调用这个方法后,垃圾回收器是否立即执行?还是回收器内部会根据一些条件判断是否执行呢.
因为很多资料都说,程序员不能显示的调用垃圾回收器.但我认为这就是显示的调用了垃圾回收器``
希望大家能帮我解惑..谢谢
我只想弄明白,调用这个方法后,垃圾回收器是否立即执行?还是回收器内部会根据一些条件判断是否执行呢.
因为很多资料都说,程序员不能显示的调用垃圾回收器.但我认为这就是显示的调用了垃圾回收器``
希望大家能帮我解惑..谢谢
解决方案 »
- 这个时间轴滚动的效果怎么实现?
- SocketChannel发送字节数上限ServerSocketChannel接收字节数上限(急急急急)
- 帮我翻译一下,好么,我一直不能真确理解它!
- 十万火急高分急求一个java gui通讯录程序,要求如下
- xml 根结点有属性,子结点就找不到了,用的jdom 内详!!
- public static void main(String [] args)中的string[] args是用来干什么的?
- 求使用Java制作的绘图软件 svg
- 很菜的一个问题,拜托了!
- 菜鸟提问:怎样做一个在窗体关闭之前的询问对话框?
- 小白求解 韩顺平老师教程里坦克大战的爆炸效果为什么是从第二个坦克爆炸才有
- 我提一个关于擦除的简单问题。
- struts2的2.1.2版本怎么不能用treenode??
public void sayit(){
System.out.println("sayit");
}
public static void main(String[] args){
new Test();
System.gc();
}
} main函数里,new test() 没有被引用,所以,调用System.gc();之后就会符合垃圾回收的要求,一般线程不要繁忙的情况下都会被回收。
System.gc()是一个异步方法,所以调用后并不会立即执行释放内存的操作
垃圾回收器是一个比较复杂的机制
每个公司开发的JVM版本,对于垃圾回收器机制和性能上也有微小的差别
IBM网站有关内存泄露的一篇文档上有提到以上说法
另外为了给你彻底解惑
我找了篇资料,你可以看下。
http://www.knowsky.com/364448.html