当不再有对对象的引用时,该对象将被终结,并且当垃圾回收开始时,这些终结的对象将被收集,这将由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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐