1. 들어가며


C, C++과 달리 자바는 자동 메모리 관리 메커니즘이 있다. 이에 메모리 누수나 오버플로 문제를 거의 겪지 않는다. 하지만 문제가 한번 터지면 JVM의 메모리 관리 방식을 이해하지 못하는 한 해결하기가 상당히 어렵다.

이번 장에서 JVM이 관리하는 다양한 메모리 영역을 알아보고, 각 영역이 수행하는 역할, 관리 대상, 생길 수 있는 문제를 알아보자.

2. 런타임 데이터 영역


JVM은 자바 프로그램을 실행하는 동안 필요한 메모리를 몇 개의 데이터 영역으로 나눠서 관리한다.

image.png

프로그램 카운터

JVM 스택

네이티브 메서드 스택