前言
在平時開發、測試過程當中、甚至是生產環境中,有時會遇到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工具