package com.rlovep.oom;
import java.util.ArrayList;
import java.util.List;
/**
* @vm Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
* -Xms20m -Xmx20m控制java堆大小最大值和最小值为20M一样为避免扩展;
* @ClassName: TestHeapOom
* @Description: 测试java堆溢出
* @author peace w_peace@163.com
* @date 20 Oct 2015 2:12:45 pm
*
*/
public class TestHeapOom {
static class OOmObject{
}
public static void main(String[] args) {
List<OOmObject> list=new ArrayList<>();
/**
* 循环创建对象并禁止回收
*/
while(true)
{
list.add(new OOmObject());
}
}
}
/*
* 输出结果:
* java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid8782.hprof ...
Heap dump file created [27529207 bytes in 0.113 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
*/