在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