java - Java 中的终结队列

标签 java garbage-collection finalize

是否只有当类具有 Finalize() 方法时,只有当该对象无法访问时才会将其添加到终结队列中?原因是我正在经历这个link子类化时避免内存保留问题类别中,它表示在调用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?

差不多了。它表示,当垃圾收集器发现其父类(super class)已实现“finalize”的对象无法访问时,这些对象将被添加到终结队列中。

关于java - Java 中的终结队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7063403/

相关文章:

java - 迁移到 java 17 后有关 "memory mappings per process"和 JVM 崩溃的 GC 警告

java - 为什么下面的代码中finalize没有给出空指针异常?

java - 为什么Gson fromJson会抛出JsonSyntaxException : Expected BEGIN_OBJECT but was BEGIN_ARRAY?

java - 正确地在图像上绘图

java - 在 Java 中使用 ArrayList 的二维动态数组

java - 无法为 JSP 页面添加书签

c# - GC.GetTotalMemory(false) 和 Process.WorkingSet

javascript - spidermonkey 上的垃圾收集器问题.... JS_AnchorPtr()?

c# - 为什么 MSDN 提到重写 Finalize() 方法?

java - Finalize() 何时执行?