为什么实现finalize方法会导致Java性能降低?
答案 0 :(得分:1)
主要原因:
Java将GC推迟到几乎很晚的阶段-当我们内存不足时-然后迅速清除几百MB或GB。
finalize方法设计为在对方法进行GC处理之前运行。
因此,在关键时刻,将执行大约一千万个对象的finalize方法!
因此,finalize不是执行任何操作的正确位置。
停止使用资源的那一刻,必须将其关闭/释放。
https://howtodoinjava.com/java/basics/why-not-to-use-finalize-method-in-java/