一、在IDEA中设置程序的运行参数
Run -> Edit Configuration
-XX:+PrintGCDetails
-Xms30M
-Xmx30M
-Xmn10M
-XX:SurvivorRatio=8
参数含义分别是:
打印GC日志
最小堆内存
最大堆内存
堆中新生代内存
新生代内存中Eden和Survivor大小之比,如果为8表示Eden占80%,另外两个Survivor各占10%
二、运行程序
package memory.gc;
/**
* Created by Administrator on 2018-04-11.
*/
public class GCLogTest {
public static void main(String[] args) {
System.out.println(Runtime.getRuntime().maxMemory());
System.out.println(Runtime.getRuntime().totalMemory());
Object obj = new Object();
obj = null;
System.gc();
}
}
程序通过System.gc()使JVM进行了一次Full GC
看到输出的日志如下
30408704
30408704
[Full G