zhyiwww
用平实的笔,记录编程路上的点点滴滴………
posts - 536,comments - 394,trackbacks - 0
在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 阅读(1405) 评论(0)  编辑  收藏 所属分类: java basicj2ee

只有注册用户登录后才能发表评论。


网站导航: