小编典典

Java 什么时候调用 finalize() 方法?

all

我需要知道何时finalize()JVM.
finalize()我创建了一个测试类,该类在通过覆盖调用该方法时写入文件。它不被执行。谁能告诉我它没有执行的原因?


阅读 94

收藏
2022-03-31

共1个答案

小编典典

一般来说,最好不要依赖finalize()做任何清理等。

根据Javadoc(值得一读),它是:

当垃圾收集确定不再有对该对象的引用时,由对象上的垃圾收集器调用。

正如 Joachim 所指出的,如果对象总是可访问的,那么这在程序的生命周期中可能永远不会发生。

此外,垃圾收集器不能保证在任何特定时间运行。一般来说,我想说的finalize()是可能不是一般使用的最佳方法,除非有特定的需要它。

2022-03-31