java - Finalize 方法导致性能开销

标签 java performance methods finalize

<分区>

为什么实现 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/

相关文章:

java - 如何测试我的 jar 文件是否有任何 Unresolved 依赖项?

java - Libgdx 将一个 Actor 的 Action 传递给另一个 Actor

android - 运动事件android的速度或加速度

sql - 在 SQL Server 中对 Float 列与 Int 列进行排序

ruby-on-rails - 如何重构 "shared"方法?

ios - 从 ViewController 调用 nib 方法

java - 停止/禁用 Apache 下的特定网络服务

javascript - 快速区分数字和对象

python - 为什么从不同文件的类导入方法对我不起作用?

java - Gradle + OSGi Liferay7 模块,包括传递依赖项