我们如何才能在 Java 中显式调用垃圾回收 (GC)?
当不再有任何对象引用时,将完成该对象,当 Garbage Collection 启动时,这些完成的对象会被收集,这将由 JVM 自动完成。我们可以直接调用垃圾收集,但这并不能保证 GC 会立即开始执行。
我们可以通过两种方式显式调用 Garbage Collection
- System.gc() 方法
- Runtime.gc() 方法
java.lang.Runtime.freeMemory() 方法返回 Java Virtual Machine (JVM) 中的空闲内存量。调用 gc() 方法可能会导致 freeMemory 返回的值增加。
示例
public class GarbageCollectionTest { public static void main(String args[]) { System.out.println(Runtime.getRuntime().freeMemory()); for (int i=0; i<= 100000; i++) { Double d = new Double(300); } System.out.println(Runtime.getRuntime().freeMemory()); System.gc(); System.out.println(Runtime.getRuntime().freeMemory()); } }
输出
15648632 13273472 15970072
广告