java - 关于垃圾回收。为什么我们需要调用 System.gc();?

标签 java garbage-collection

当引用的对象不再可用于任何变量时,将自动调用垃圾收集。但我想知道为什么我们在自动调用垃圾收集时使用 System.gc() 显式调用。我们什么时候调用 System.gc();

最佳答案

你不知道。正如您所说,垃圾收集是自动的。 System.gc() 甚至不强制垃圾回收;这只是对 JVM 的一个提示,“现在可能是清理一下的好时机”

一般来说,试图用 System.gc() 强制垃圾收集器做你想做的事情是一种被自认为比实际更了解的人应用的 hack,或者作为(尝试的)损坏代码的解决方法。

多年来我一直在编写 Java,但我还没有看到调用 System.gc 确实是正确的事情(在我写的任何东西中)

关于java - 关于垃圾回收。为什么我们需要调用 System.gc();?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2373792/

相关文章:

java - 访问方法时遇到问题

java - 在指定的时间后终止 Java 中的连接

java - 历史贸易数据的时间序列重采样

java - 如何处理netsuite中的unknownhost异常

javascript - DOM 节点清理在 d3 中如何工作?

Java MongoDB FindOne 获取最后插入的记录

memory-leaks - 第 2 代堆和大对象堆爬升

java - 引用变量数组

java - Java中的垃圾收集器是什么?

c# - 垃圾收集器 C#,关于 'clearing' 对象的问题