java - 如果终结器使对象可达怎么办?

标签 java memory-management garbage-collection jvm finalizer

在 Java 中,finalize 在对象即将被垃圾回收时调用(覆盖它),因此当它不可访问时。但是,如果终结器使对象再次可达,会发生什么情况呢?

最佳答案

基本上,对象不会被垃圾回收。这称为对象复活。搜索那个词,你应该会得到一堆有趣的文章。正如 Jim 提到的,有一点很重要,即终结器只会运行一次。

关于java - 如果终结器使对象可达怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3808101/

相关文章:

java - 通过 Cmd 行设置 Tomcat

java - 代码在 Java 线程内花费更长的时间

c++ - 内存影像减少

java - 以下场景在 Java 中是否称为内存泄漏?不是垃圾收集吗?

java - 清空一个 ArrayList 还是只创建一个新的并让旧的被垃圾收集?

java - 具有两个线程的 IllegalMonitorStateException

java - 如何将凭证传递给 Translation API v3?

ios - 如果我现在开始学习iOS开发,我应该使用垃圾回收功能吗?

c - data/bss/heap 和 stack 中的内存分配

Java 垃圾收集器 A 类 -> B 类 -> C 类 -> B 类和循环引用