Development/Java
[Java] 메모리 모델
자르비옹스
2022. 4. 16. 23:15
JVM의 메모리 모델
- 메소드 영역 (Method Area) : 메소드의 바이트 코드, static 변수
- 스택 영역 (Stack Area) : 지역변수, 매개변수
- 힙 영역 (Heap Area) : 인스턴스
메소드 영역
※ 바이트코드 : 소스파일을 컴파일 할 때 생성되는, JVM에 의해 실행이 가능한 코드
특정 클래스의 정보가 메모리 공간에 올려질 때 채워지는 영역
스택 영역
- 지역변수와 매개변수가 저장되는 공간
- 해당 중괄호를 벗어나면 바로 소멸되는 특성의 데이터 저장을 위한 영역
힙 영역
- 인스턴스가 저장되는 영역
- 가상머신에 의한 가비지 컬렉션이 일어나는 메모리 공간
- 인스턴스의 소멸 시점과 소멸 방법이 지역변수와 달라서 따로 저장
- 인스턴스의 소멸 시점 : 가상머신의 역할 (개발자는 신경쓰지 않는다.)
- 인스턴스 소멸 방법 : 가비지 컬렉션