1편에서 우리는 JVM이 단순한 “자바 실행기”가 아니라, 명세로 정의된 실행 환경이라는 점을 확인했습니다.이번 편에서는 JVM 명세가 정의한 가장 핵심적인 구조, 바로 JVM 런타임 데이터 영역(Runtime Data Areas)을 살펴봅니다.“왜 JVM 메모리는 이렇게 복잡하게 나뉘어 있을까?”이 질문에 답할 수 있으면, GC·메모리 누수·스레드 문제를 훨씬 정확하게 바라볼 수 있게 됩니다.JVM 메모리는 “하나”가 아니다많은 입문 자료에서는 JVM 메모리를 단순히 이렇게 설명합니다.“객체는 힙에 저장된다”물론 틀린 말은 아니지만, 공식 문서 기준에서는 JVM 메모리를 훨씬 명확하게 구분합니다.JVM 명세는 실행 중인 JVM이 다음과 같은 런타임 데이터 영역을 가져야 한다고 정의합니다.HeapJava..