<分区>
为什么实现 finalize 方法会导致 Java 中的性能开销?
<分区>
为什么实现 finalize 方法会导致 Java 中的性能开销?
最佳答案
主要原因:
Java 将 GC 推迟到几乎非常晚的阶段 - 当我们有点用完内存时 - 然后快速清除几百 MB 或 GB。
finalize 方法被设计为在方法被 GC 之前运行。
所以,在关键时刻大约会有1000万个对象的finalize方法被执行!!
因此,finalize 不是做任何事情的正确位置。
在您停止使用资源的那一刻,它必须被关闭/释放。
https://howtodoinjava.com/java/basics/why-not-to-use-finalize-method-in-java/
关于java - Finalize 方法导致性能开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53349475/