java中System.gc什么时候执行

一、概述

我知道垃圾回收在Java中是自动化的。但是我知道,如果您调用System.gc()代码,那么JVM可能会或可能不会决定此时执行垃圾回收。这究竟如何工作?JVM看到时会根据什么基础/参数确切地决定执行(或不执行)GC System.gc()

在这种情况下,有任何示例是个好主意吗?

二、详解

实际上,它通常决定进行垃圾回收。答案取决于许多因素,例如您正在运行的JVM,它处于哪种模式以及所使用的垃圾收集算法。

我不会在您的代码中依赖它。如果JVM即将抛出OutOfMemoryError,则调用System.gc()不会停止它,因为垃圾回收器将尽最大努力释放它,直到达到极限为止。我唯一看到它在实践中使用过的是在IDE中,它附加到用户可以单击的按钮上,但是即使在那里也没有用。

如若转载,请注明出处:https://www.javaidea.cn/article/8378.html

(0)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。