【发布时间】:2014-05-22 04:40:25
【问题描述】:
Java 是否有 .Net 的 GC.SuppressFinalize 等价物?
在 .Net 中,只要明确处置对象,在 dispose pattern 中使用 SuppressFinalize 即可避免终结的 relatively high performance cost。类似的成本适用于 Java,但它似乎没有 SuppressFinalize。
我知道通常最好完全避免使用终结器,但我认为我不能在我的特定用例中避免使用它们(取消标记,您可以在其中添加仅在另一个标记未取消时才运行的处理程序,因此由于其来源被收集而变得不朽的令牌必须导致条目从链接的令牌中删除,以免它们无限制地累积垃圾条目。
Java 中是否存在与 SuppressFinalize 等效的功能?如果不是,是否可以使用可用的工具(例如ReferenceQueue)进行近似?
【问题讨论】:
-
@IwishIcouldthinkofagood 是的,对象有一个finalize method you can override。
标签: java .net garbage-collection finalizer