【问题标题】:Will an object be GC'ed if I save a reference to it in its finalize method? [duplicate]如果我在 finalize 方法中保存对它的引用,对象会被 GC 吗? [复制]
【发布时间】:2012-07-19 18:16:04
【问题描述】:

可能重复:
Reference to object during finalize

我有一个符合垃圾回收条件的对象,但在其finalize 方法中,我保存了对该对象的引用,例如调用arrayList.add(this)

对象还会被垃圾回收吗?

【问题讨论】:

  • 底线:不要使用finalize。请。

标签: java android memory garbage-collection finalizer


【解决方案1】:

简短的回答是:不。长的回答是:是。第一次调用 finalize 方法会“复活”,但是当变量再次符合 GC 条件时,将不会调用 finalize 方法,而是会被 GC 处理。

【讨论】:

  • 你能详细说明一下吗?我听不懂
  • @JaiPandit 哪一部分你不明白?这对我来说似乎非常清楚。
  • Finalize 只被调用一次。
猜你喜欢
  • 2012-05-22
  • 2019-03-09
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-07
相关资源
最近更新 更多