OutOfMemoryError — 메모리가 부족할 때
OutOfMemoryError — 메모리가 부족할 때
OutOfMemoryError는 JVM이 객체를 할당할 수 없는데, 메모리가 부족하고 가비지 컬렉터로 더 이상 메모리를 확보할 수 없을 때 던져지는 에러예요.
본문
이 에러는 보통 힙(heap) 메모리가 가득 찼을 때 나오지만, 힙 외 영역(예: 네이티브 메모리) 부족으로도 발생할 수 있어요. 메모리 누수(leak)나 너무 큰 캐시, 과도한 객체 생성이 원인인 경우가 많아요. 힙 크기 조정(-Xmx 등)이나 메모리 사용을 줄이는 방식으로 해결하는 게 일반적이에요.
상속 구조는 다음과 같아요.
java.lang.Object
java.lang.Throwable
java.lang.Error
java.lang.VirtualMachineError
java.lang.OutOfMemoryError
VirtualMachineError의 하위 클래스라서, 복구를 기대하기보다는 근본 원인을 제거해야 하는 치명적 계열이에요.
생성자
OutOfMemoryError()— 상세 메시지 없이 생성해요.OutOfMemoryError(String s)— 지정된 상세 메시지로 생성해요.