在Eclipse help -> Eclipse Marketplace下搜索Memory: java
按照操做流程安装完成,重启Eclipse.测试
import java.util.ArrayList; import java.util.List; public class HeapOOM { static class OOMObject{ } public static void main(String[] args) { List<OOMObject> list=new ArrayList<>(); while (true) { list.add(new OOMObject()); } } }
-Dfile.encoding=UTF-8
-Xms20m -Xmx20m ##设置堆大小20m,将最小和最大值设置相等,避免扩展
-XX:+HeapDumpOnOutOfMemoryError ##dump出当前的内存堆转储快照
-XX:HeapDumpPath=E:\job ##指定路径(转储文件仍是挺大的)
-XX:SurvivorRatio=8 ## 存活比2:8spa
经过上述能够看见堆转储快照文件是.hprof 文件。blog
切换Eclipse到内存分析视图ip
而后点击Eclipse -Filse-Open Heap Dump内存
打开文件.hprof文件io
出现以下图class