자바에서 java.lang.OutOfMemoryError는 사용할 수 있는 힙 메모리(heap memory)가 부족할 때 발생합니다. OutOfMemoryError 현상의 원인과 해결 방안에 대해 알아보겠습니다. heap memory 힙 메모리가 무엇인지부터 알아보겠습니다. 힙 메모리는 흔히 로컬 스택(stack) 메모리와 대비됩니다. 스택 메모리는 함수가 호출되면 생성됐다가 호출이 종료되면 메모리도 함께 사라지는 특징을 가지고 있습니다(static 변수는 제외). 반면 힙 메모리는 메모리 블록이 한번 생성되면 종료 명령을 받기 전까지 유지됩니다. 여기서 자바의 중요 개념인 가비지 컬렉터(GC)가 등장하는데요. 가비지 컬렉터는 필요 없는 힙 메모리 할당을 스스로 해제시킵니다. 메모리를 알아서 관리해줍니다..