如何在 Java 中明确调用垃圾回收 (GC)?

javaobject oriented programmingprogramming更新于 2025/9/13 10:20:17

当不再有对某个对象的引用时,该对象将被最终确定,并且当垃圾回收启动时,这些最终确定的对象将被收集,这将由JVM自动完成。我们可以直接调用垃圾回收,但这并不能保证 GC 会立即开始执行。

我们可以通过两种方式显式调用 Garbage Collection 

  • System.gc() 方法
  • Runtime.gc() 方法

java.lang.Runtime.freeMemory() 方法返回 Java 虚拟机 (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

相关文章


有用资源