Java 中的终结队列

发布于 2024-11-29 14:27:19 字数 283 浏览 1 评论 0原文

是否只有当类具有 Finalize() 方法时,只有当该对象无法访问时才会将其添加到终结队列中?原因是我正在浏览这个链接子类化时避免内存保留问题类别中,它表示在调用finalize()之前,大数组不可用于垃圾回收。 但我的观点是,即使我不编写 Finalize() 方法,它仍然必须等待对象在终结队列中出队。

Is it the case that only if a class has a finalize() method, only then that object, when unreachable, is added to the finalization queue? Reason being I was going through this link
and in the category Avoid Memory-Retention Problems When Subclassing it says that a large array is not available for garbage collection till finalize() is called.
But my point is that even if I don't write a finalize() method, still it had to wait for the object to be deque'd in the finalization queue.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别在捏我脸啦 2024-12-06 14:27:19

是否只有当一个类具有finalize()方法时,只有当该对象无法访问时,才会将其添加到终结队列中?

几乎。它表示,当垃圾收集器发现其超类已实现“finalize”的对象无法访问时,这些对象将被添加到终结队列中。

Is it the case that only if a class has a finalize() method, only then that object, when unreachable, is added to the finalization queue?

Almost. It says that objects whose superclasses have implemented "finalize" are added to the finalization queue when the garbage collector finds them unreachable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文