OutOf Memory 의 세 가지 상황.

더 읽 기
kakaluyi 에서 따 온 부분 수정 이 있 습 니 다.
자바 의 OutOf Memory Exception 과 나타 날 수 있 는 방법:
A Exception in thread "main" java.lang.OutOfMemoryError: PermGen space

public static void main(String[] args) {
	//  List        ,  Full GC       
	List list = new ArrayList();
	// 10M PermSize integer       OOM 
	int i = 0;
	while (true) {
		list.add(String.valueOf(i++).intern());
	}
}

영구 영역 넘 침
이 부분 은 Class 와 Meta 의 정 보 를 저장 하 는 데 사 용 됩 니 다.Class 는 Load 될 때 PermGen space 영역(상수 탱크:정적 변수 포함)에 들 어 갑 니 다.인 스 턴 스 를 저장 하 는 Heap 영역 과 달리 GC(Garbage Collection)는 주 프로그램 실행 기간 에 PermGen space 를 청소 하지 않 기 때문에 앱 이 CLASS 를 많이 로드 하면 PermGen space 오류 가 발생 할 수 있 습 니 다.
B java.lang.OutOfMemoryError: Java heap space

public static void main(String[] args) {
	//  List        ,  Full GC       
	List list = new ArrayList();
	// 10M PermSize integer       OOM 
	int i = 0;
	while (true) {
		list.add(new String(i++));
	}
}

쌓다
이 부분 은 클래스 의 인 스 턴 스 를 저장 하 는 데 사 용 됩 니 다.캐 시 된 인 스 턴 스(Cache)대상,큰 map,list 참조 큰 대상 등 이 저 장 됩 니 다.
C Exception in thread "main" java.lang.StackOverflowError

public class JavaVMStackSOF {
	private int stackLength = 1;
	public void stackLeak() {
		stackLength++;
		stackLeak();
	}
	public static void main(String[] args) throws Throwable {
		JavaVMStackSOF oom = new JavaVMStackSOF();
		try {
			oom.stackLeak();
		} catch (Throwable e) {
			System.out.println("stack length:" + oom.stackLength);
			throw e;
		}
	}
}

창고 가 넘치다
이 부분 은 부분 변수,방법 스 택 프레임 정 보 를 저장 하 는 데 사 용 됩 니 다.스 택 프레임 이 너무 많 습 니 다.즉,함수 호출 등급 이 너무 많 으 면 이 이상 이 발생 하여 죽은 재 귀 상황 이 있 는 지 확인 합 니 다.
오늘 메모리 가 넘 치 는 문제 에 부 딪 혔 습 니 다.해결 과정 은 다음 과 같 습 니 다.
  • 먼저 시작 할 때 인자-XX:+HeapDumpOnOutOfmory Error 를 추가 합 니 다.이렇게 하면 메모리 가 넘 칠 때:
  •        java.lang.OutOfMemoryError: Java heap space
           Dumping heap to java_pid5304.hprof ...
           Heap dump file created [85357895 bytes in 2.095 secs]
  • eclipse 디 렉 터 리 에서 메모리 파일 을 생산 합 니 다
  • Memory Analyze 를 사용 하여 분석 하고 유형 사용 상황 을 살 펴 보면 지도 가 너무 커서 생 긴 것 을 발견 할 수 있다

  • 4.567917.코드 에서 Map 에 사 용 된 세그먼트 를 조회 하고 분석 하 며 문 제 를 해결한다
    문제 over.

    좋은 웹페이지 즐겨찾기