我們如何才能在 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
廣告