21
为什么要实现finalize()?
我一直在阅读许多关于Java的新手问题finalize(),发现令人困惑的是,没有人真的说过finalize()是清理资源的不可靠方法。我看到有人评论说他们用它来清理Connections,这确实很吓人,因为要保证关闭Connection的唯一方法就是最终实现try(catch)。 我没有在CS上学,但是近十年来我一直在用Java专业编程,而且从未见过有人finalize()在生产系统中实现过程序。这仍然并不意味着它没有用途,或者与我一起工作的人都在正确地做它。 所以我的问题是,有哪些用例可以实现 finalize()无法通过语言中的其他过程或语法更可靠地处理? 请提供特定的方案或您的经验,仅仅重复一本Java教科书,或完成最终的预期用途是不够的,这不是此问题的意图。