如何在对象被销毁之前得知

281 浏览
0 Comments

如何在对象被销毁之前得知

This question already has answers here:

Java有析构函数吗?

有没有一种方法可以在Java对象被销毁之前知道它将要被销毁?

例如:

class A{}

我已经实例化了它,如:new A()。现在我想知道这个对象什么时候会被销毁,并在它被销毁之前进行一些操作。

admin 编辑问题 2023年9月29日
0
0 Comments

是的,有一种方法,它被称为“对象终结”。请查看Object.finalize()方法。但要小心:如果你选择这条路,只会发现痛苦。

0
0 Comments

你的意图极不推荐。因为垃圾回收器何时运行和何时调用该方法完全是不可预测的。

但是:

你可以覆盖Objectfinalize()方法:

详见此处:Java中什么时候调用finalize()方法?

只有当垃圾回收器确定某个特定对象不再被引用时,才会调用此方法。

另请参见:Oracle Java文档中的Object

0