我们如何才能在 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

更新于:2019 年 7 月 30 日

1 千次观看

启动你的职业生涯

完成课程获得认证

开始学习
广告