finalize 方法、可关闭接口和 try-with-resources 语句 (Java 7)
2026/6/13 0:17:56 网站建设 项目流程

“嗨,阿米戈!”

“我只是决定和你讨论一下finalize ()方法。”

“如果你还记得的话,finalize() 是一种特殊的方法,在垃圾收集器销毁对象之前由对象调用。”

“此方法的主要目的是通过关闭文件、I/O 流等来释放已使用的外部非 Java 资源。”

“不幸的是,这个方法没有达到我们的预期。Java 虚拟机可以推迟销毁对象,也可以推迟调用 finalize 方法,只要它愿意。而且,它不保证这个方法会被执行根本没有被调用。有很多情况下它没有被调用,都是以 «优化» 的名义。

“我有两个推荐信给你:”

Joshua Bloch 写了一篇关于此方法的好文章:链接
我将转述一小段摘录:
  1. finalize() 只能在两种情况下使用:
    1. 用于使用日志记录验证或清理资源。
    2. 使用对资源泄漏不重要的本机代码时。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询