在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)呢?的详细内容,更多请关注编程之家其它相关文章!

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...