자바 프로그램이 실행되면 내부적으로 다양한 메모리 영역이 자동으로 생성되어 프로그램이 효율적이고 안정적으로 실행되도록 돕습니다. 이 구조를 이해하면, 메모리 오류나 성능 문제를 더 쉽게 파악하고 해결할 수 있습니다.
자바는 JVM(Java Virtual Machine) 위에서 동작하며, JVM은 프로그램을 실행하기 위해 다음과 같은 5가지 메모리 영역을 사용합니다:
| 항목 | 설명 |
|---|---|
| 저장되는 것 | 클래스 이름, static 변수, final 상수, 메서드 코드 등 |
| 특징 | 모든 스레드가 공유, JVM 시작 시 생성 |
📌 예제 코드:
class MyClass {
static int count = 0; // 메서드 영역에 저장됨
final int MAX = 100; // 상수 정보도 이 영역에 저장
}
🧠 비유: ‘교실의 칠판’처럼 모든 사람이 참고하는 고정된 정보들이 들어있습니다.
new 키워드로 생성된 객체나 배열이 저장되는 공간입니다.