JVM堆溢出實踐

本次在eclipse中實踐本異常:

通過無終止的在隊中創建對象,以製造堆溢出的情況。

虛擬機參數設置:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError

將最大內存和最小內存設爲相等是爲了避免虛擬機自動擴展對內存大小!

參數解釋:

-Xms20m:虛擬機堆的最小內存

-Xmx20m:虛擬機堆的最大內存

-XX:+HeapDumpOnOutOfMemoryError:生成堆轉儲快照以便後期內存溢出異常分析

測試類:

package oom;

import java.util.ArrayList;
/**
 * HeapOOM.java
 * @author anyunpei
 *2019年1月16日下午7:58:42
 *-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 */
public class HeapOOM {
	static class OOMProject{
		
	}
	public static void main(String[] args) {
		ArrayList<OOMProject> arrayList = new ArrayList<OOMProject>();
		while (true) {
			arrayList.add(new OOMProject());
		}
	}
}

需要調整虛擬機參數:右擊測試類

 

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章