黑马程序员技术交流社区
标题:
有人熟悉finalize方法吗
[打印本页]
作者:
HM李帅
时间:
2013-3-14 10:34
标题:
有人熟悉finalize方法吗
本帖最后由 HM李帅 于 2013-3-15 09:11 编辑
有人熟悉finalize方法吗
怎样用finalize写一个
手动回收的方法呢
作者:
潘廖明
时间:
2013-3-14 10:53
几乎不可能实现原因如下:
(1)finalize()方法的通用格式如下:
protected void finalize( )
{
//内部Code
}
其中,关键字protected是防止在该类之外定义的代码访问finalize()标识符,所以你要复写该方法是不可以的。
(2)finalize( ) 正好在垃圾回收以前被调用非常重要。例如当一个对象超出了它的作用域时,finalize( ) 并不被调用。
这意味着你不可能知道何时——甚至是否——finalize( ) 被调用。因此,你的程序应该提供其他的方法来释放由对象使用
的系统资源,而不能依靠finalize( ) 来完成程序的正常操作。
作者:
冷叙辰
时间:
2013-3-14 10:57
java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。
(1).对象不一定会被回收。
(2).垃圾回收不是析构函数。
(3).垃圾回收只与内存有关。
(4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2