在Java中如何主动的去释放无用对象,从而使得系统GC可以尽早释放内存?在编程上需要注意些什么?

如题所述

1、与C语言相比,垃圾回收器是JAVA的一大优势。其功能在于自动释放违背占用的内存,但何时去释放有其自身的算法,不支持使用者直接释放内存。
2、使用者所能做的只是使用System.gc()通知JAVA垃圾回收器在“合适”的时间逐个使用Object.finalize()清除未为程序引用的各个对象。
3、使用着调用Object的finalize()方法不会启动任何作用,只能是重写该方法执行写对象销毁前应做的操作,如关闭IO等。
4、使用者还可以做到的就是指定那些对象占用的内存会被释放,方法就是将对象的值赋为NULL。
5、编程用使用者应做的就是提高对象的复用性,尽量少的声明对象。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-04
垃圾回收机也不会立即回收该对象所占的资源,只有当内存不够用的时候,垃圾回收机才会去回收
第2个回答  2013-07-04
手动调用Sysytem.gc(); 但也没有马上进行释放内存
第3个回答  2013-07-04
养成良好的编程习惯,避免内存泄露等低级错误。
要靠时间积累和体会
相似回答