终结方法导致性能开销

时间:2018-11-17 08:14:52

标签: java performance methods finalize

为什么实现finalize方法会导致Java性能降低?

1 个答案:

答案 0 :(得分:1)

主要原因:

Java将GC推迟到几乎很晚的阶段-当我们内存不足时-然后迅速清除几百MB或GB。

finalize方法设计为在对方法进行GC处理之前运行。

因此,在关键时刻,将执行大约一千万个对象的finalize方法!

因此,finalize不是执行任何操作的正确位置。

停止使用资源的那一刻,必须将其关闭/释放。

https://howtodoinjava.com/java/basics/why-not-to-use-finalize-method-in-java/