package com.sam; import java.util.ArrayList; import java.util.List; /** * -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 * @author Sam * */ public class HeapOOM { static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); while(true) { list.add(new OOMObject()); } } }
package com.sam; public class MinorGC { private static final int _1MB = 1024*1024; /** * VM arg: -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8 -XX:+PrintGCDetails */ public static void testAllocation() { byte[] allocation1, allocation2, allocation3, allocation4; allocation1 = new byte[2*_1MB]; allocation2 = new byte[2*_1MB]; allocation3 = new byte[2*_1MB]; allocation4 = new byte[4*_1MB]; // occur Minor GC } public static void main(String[] args) { MinorGC minorGC = new MinorGC(); minorGC.testAllocation(); } }