java.lang.OutOfMemoryError Demo

代碼程序

import java.util.ArrayList;
import java.util.List;
 
public class MyHeapOutOfMemDemo{
    static class OOMObject{
        
    }
    
    public static void main(String[] args) {
        List<OOMObject> list = new ArrayList<OOMObject>();
        while(true){
            list.add(new OOMObject());
        }
    }

}

執(zhí)行步驟

  1. 編譯
javac MyHeapOutOfMemDemo.java
  1. 運行
java java -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError MyHeapOutOfMemDemo

運行結(jié)果

image.png

在運行目錄生成java_pid2342.hprof文件。
用JProfiler打開如圖:


image.png

根據(jù)圖看出MyHeapOutOfMemDemo對象創(chuàng)建太多,占用了堆內(nèi)存,導(dǎo)致內(nèi)存溢出。

總結(jié)

-XX:+HeapDumpOnOutOfMemoryError 

當(dāng)堆內(nèi)存空間溢出時輸出堆的內(nèi)存快照。

 -XX:HeapDumpPath=/var/log/... 

指定輸出文件目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇文章是我之前翻閱了不少的書籍以及從網(wǎng)絡(luò)上收集的一些資料的整理,因此不免有一些不準(zhǔn)確的地方,同時不同JDK版本的...
    高廣超閱讀 16,049評論 3 83
  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,789評論 11 349
  • 書名:心流 作者:米哈里·契克森米哈賴 篇目:p99-p103 收獲: 001什么是注意力? 注意力是一種受我們控...
    王彩瓊閱讀 125評論 0 0
  • 星耀小學(xué)三年一班劉昊親子共讀國學(xué)經(jīng)典《銀河是條河嗎》,讀書時長30分 我堅持,我讀書,我快樂,,,
    liuhao劉昊閱讀 173評論 0 0
  • 我覺得詩還是短一點,盡可能美一些。長,意象多了不如散文,丑,不如雜文罵的深刻。 詩好比感慨,過了些日子,看到一些事...
    如果而已閱讀 343評論 0 2

友情鏈接更多精彩內(nèi)容