“嗨,阿米戈!”
“我只是决定和你讨论一下finalize ()方法。”
“如果你还记得的话,finalize() 是一种特殊的方法,在垃圾收集器销毁对象之前由对象调用。”
“此方法的主要目的是通过关闭文件、I/O 流等来释放已使用的外部非 Java 资源。”
“不幸的是,这个方法没有达到我们的预期。Java 虚拟机可以推迟销毁对象,也可以推迟调用 finalize 方法,只要它愿意。而且,它不保证这个方法会被执行根本没有被调用。有很多情况下它没有被调用,都是以 «优化» 的名义。
“我有两个推荐信给你:”
| Joshua Bloch 写了一篇关于此方法的好文章:链接 我将转述一小段摘录:
|