我們如何才能在 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 千次觀看

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告