前言
在平时开发、测试过程当中、甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这代表程序有严重的问题。咱们须要找形成OutOfMemoryError缘由。通常有两种状况:php
public class Test { static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); while(true){ list.add(new OOMObject()); } } }
运行结果以下java
java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid2277.hprof ... Heap dump file created [27929324 bytes in 0.137 secs] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3210) at java.util.Arrays.copyOf(Arrays.java:3181) at java.util.ArrayList.grow(ArrayList.java:261) at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235) at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227) at java.util.ArrayList.add(ArrayList.java:458) at com.b2b.console.Test.main(Test.java:13)
刷新项目target目录eclipse
双击文件打开:jvm
参考文章: http://blog.csdn.net/xb151652000/article/details/8056792工具