CS
[CS] 자바 메모리 영역
lnacles
2024. 1. 16. 17:57
클래스 파일을 실행시키면 class loader가 클래스 파일을 런타임 데이터 영역에 메모리를 올립니다.
런타임 데이터 영역은 5가지 입니다.
- Static(Method) 영역
- Heap 영역
- Stack 영역
- PC register
- Native Method Stack
1번, 2번, 3번에 대해 알아보겠습니다.
Static(Method) 영역
JVM이 실행되고, 클래스가 메모리에 올라갈 때 생성됩니다. Class 정보, Class 변수, 생성자, 메소드가 올라가 있습니다. 어디서든 Static 영역은 참조가 가능합니다.
Stack 영역
기본 자료형, 지역 변수, 매개 변수가 저장됩니다. 메서드 내부의 기본 자료형에 해당하는 변수입니다. 클래스에서 정의되는 자료형은 다른 영역에 저장됩니다.
Heap 영역
String, Array, enum 등 참조형 객체의 주소값이 저장됩니다. new 키워드로 인스턴스를 생성할 때 즉 인스턴스가 저장됩니다.