在一次采访中,有人问我,假设 JVM 在不使用 A 类的对象时运行 gc。
class A{
//some code here
protected void finalize(){
//code here
}
}
它是否保证 finalize() 的执行。我说是
下一个问题是是否正在使用 Class A 的 obj,如果现在 JVM 运行 GC,它是否执行 finalize()。我说不,它不会执行这个 finalize() 因为 JVM 不收集 A 的对象。
然而,她没有发表任何评论,但看起来很失望。
我解释错了吗?提前致谢