Java为什么要实现finalize()?

Java为什么要实现finalize()?,第1张

Java为什么要实现finalize()?

你可以将其用作保存外部资源(套接字,文件等)的对象的支持。实现

close()
需要调用的方法和文档。

如果发现尚未完成

finalize()
,请实施
close()
处理。也许有一些东西要转而stderr指出你是在有错误的呼叫者之后进行清理。

在特殊/越野情况下,它可提供额外的安全性。并非每个呼叫者每次都会做正确的

try {} finally {}
事情。不幸的是,但在大多数环境中都是如此。

我同意很少需要它。正如评论者所指出的,它带有GC开销。仅在长期运行的应用程序中需要“皮带和吊带”安全性时使用。

从Java 9开始,我

Object.finalize()
已经过时了!他们指出,我们
java.lang.ref.Cleaner
java.lang.ref.PhantomReference
作为替代品。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5108810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存