JVM이 사용하는 메모리 영역
JVM의 메모리 모델(Runtime Data Area) → Thread
Method Area
- 메서드의 바이트 코드(기계어 코드)가 할당되는 공간
- static-zone과 none-static-zone으로 나누어 진다.
- static 멤버들은 static-zone에 할당된다.
Heap Area Generation
- 객체가 생성되는 메모리 공간(new 연산자)
- GC(Garbage Collector)에 의해서 메모리가 수집된다.
Garbage Collection(가비지 컬렉션)이란?
Stack Area(Call Stack Frame Area), PC register, Native Method Area
- 메서드가 호출 되면 메서드의 기계어코드를 할당 받고(Native Method Area) 메서드,가 실행 되는 메모리 공간(Call Stack Frame Area) (지역 변수, 매개변수들이 만들어지는 공간)
- PC(Program Counter)에 의해서 현재 실행중인 프로그램의 위치가 관리된다.
- LIFO 구조로 운영이 되는 메모리 공간(메서드의 호출 순서를 알 수 있다.)
Runtime Constant Pool(Literal Pool)
- 상수 값 할당이 되는 메모리 공간 문자열 중 문자열 상수(Literal : 리터럴)가 할당 되는 메모리 공간
'개발 > Java' 카테고리의 다른 글
상속 (1) | 2024.01.28 |
---|---|
객체 생성과 static 과의 관계 (0) | 2024.01.28 |
Static (0) | 2024.01.28 |
배열과 클래스의 관계 (0) | 2024.01.28 |
정보 은닉 (0) | 2024.01.28 |