【问题标题】:Finalization queue in JavaJava中的终结队列
【发布时间】:2011-08-15 09:24:55
【问题描述】:

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

【问题讨论】:

  • 没有声明 finalize 方法的类(在任何子类中),因此 java.lang.Object 中的空 finalize 在我所知道的所有实现中都不是最终队列的主题。
  • 它确实说一个大数组在完成之前是不可用的。它确实说的是包含数组的 example RGBImage 类从 Image1 类继承了终结器。

标签: java garbage-collection finalize


【解决方案1】:

是不是只有当一个类有finalize()方法的时候,才把那个对象,当不可达的时候,才加入finalization queue?

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

【讨论】:

    猜你喜欢
    • 2014-05-16
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 2010-11-19
    • 2016-05-24
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多