曾经的曾经,确实看到和听到过这句话,但是实际开发中,代码中还真没有碰到过。但是今天看《深入理解JVM虚拟机》一书中,正好看到,有必要么?还是很有必要的,根据书上面的,上下代码,和书本上面的几乎一样,后面多了一个无用的测试。
public class TestMain {
public static void main(String[] args) {
byte[] bytes = new byte[64 * 1024 * 1024];//作用就是向内存中填充一个64MB的对象
System.gc();//手动执行GC操作
}
}
运行程序前,可以将JVM参数设置为如下:
-verbose:gc
-XX:+PrintGCDetails
控制台部分输出结果:
[GC (System.gc()) [PSYoungGen: 3932K->744K(76288K)] 69468K->66288K(251392K), 0.0016500 secs] [Times: user=0.00 sys=0.03, real=0.00 secs]
[Full GC (System.gc()) [PSYoungGen: 744K->0K(76288K)] [ParOldGen: 65544K->66145K(175104K)] 66288K->66145K(251392K), [Metaspace: 316