在java中,垃圾回收不需要我们自己执行,而是由系统自动执行。
这一点给了我们发开发人员省了不少心,但是finalize()方法一直是个困惑。
虚拟机在执行垃圾回收之前都会执行对象的finalize(),那么finalize()到底有什么用呢?
其实finalize()主要是给其他调用而创建的空间在对象回收时页同步回收而设置的。
比如,你调用了C语言,使用了mallow()开辟了一段内存空间。在你释放java对象的时候,虚拟机只能释放java对象占用的空间,而不能释放C开辟的内存空间,所你你在释放此对象之前要先回收你在C语言中开辟的空间。
这各时候才用到finalize()方法。
平时的时候不要随便使用finalize()方法。
以上理解是《java编程思想中的理论》,详细深入的理解请参考此书 。
|----------------------------------------------------------------------------------------|
版权声明 版权所有 @zhyiwww
引用请注明来源 http://www.blogjava.net/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2010-11-26 10:12
zhyiwww 阅读(1403)
评论(0) 编辑 收藏 所属分类:
java basic 、
j2ee