在Java中,我们如何显式地调用垃圾回收(GC)呢?

在Java中,我们如何显式地调用垃圾回收(GC)呢?

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

我们可以通过两种方式显式地调用垃圾回收

  • 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

以上就是在Java中,我们如何显式地调用垃圾回收(GC)呢?的详细内容,更多请关注其它相关文章!