首页 > 解决方案 > 垃圾收集器可以调用多少次?

问题描述

我们可以在一个 Java 程序中多次调用垃圾收集器吗?

标签: javagarbage-collection

解决方案


如果“调用垃圾收集器”的意思是“调用System.gc()——你可以随心所欲地执行它。它可能有一些效果,也可能没有。根据具体情况,它可能会使你的应用程序性能更好,或者它可能会使事情变得更糟。

现代 Java 实现旨在使用完全透明的 GC 运行。我的经验是,它很少有助于将 GC 付诸行动,尽管几乎总是,调用gc()确实会从 JVM 引发某种响应——它通常不会被完全忽略。

我见过使用重复调用来gc()克服应用程序中的错误的应用程序(通常与资源管理有关);甚至,非常偶尔,JVM 中的错误。

不过,总的来说,我希望如果您发现您的应用程序需要经常戳 GC,那么有些东西出了问题,而现在,很可能是应用程序。


推荐阅读