当没有对一个对象的引用时,该对象将被终结,并且当垃圾回收开始时,这些终结的对象将被自动收集,这将由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)呢?的详细内容,更多请关注编程之家其它相关文章!