블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
Runtime Data Area
JVM 메모리를 뜻함
Runtime Data Area
는 5개 영역으로 나눠짐
Method Area
,Heap
,Stack
,PC Register
,Native Method Area
Method Area
와Heap
은 모든 스레드가 공유하는 공간Stack
,PC Register
,Native Method Area
는 각각의 스레드가 하나씩 가지는 공간
Method Area (메소드 영역)
class data
와static
변수가 저장되는 공간- 모든 스레드(
Thread
)가 공유하는 공간 - JVM이 실행될때 생성됨
Heap (힙 영역)
new
를 통해 동적으로 생성되는 객체가 저장되는 공간 (또는 배열)- Heap에 저장된 데이터는 메모리 관리가 필요한 GC 대상
- 만약 참조하지 않는 데이터라면 GC에 의해 제거됨
- 모든 스레드(Thread)가 공유하는 공간
- JVM이 실행될때 생성됨
GC 관련 내용은 아래 참고
2021/03/07 - [Language/JAVA] - JVM GC(Garbage Collector) 정리
Stack (스택)
스택은 프레임(Frame
)이 저장되는 공간
Frame
: 메소드 정보, 메모리 파라미터, 지역변수, 참조 주소값 데이터가 저장되는 공간
다른 스레드와 공유하지 않고, 각각의 스레드마다 가지는 공간
- 프레임은 메소드(method)가 실행될 때, Stack에
push
하여 추가됨 - 반대로, 메소드가 종료되면, Stack에서
pop
되어 제거됨
PC Register
Programe Counter Register
의 약자로 JVM이 현재 실행할 명령어의 주소값을 저장하는 공간
- 즉, 코드의 몇번째 줄을 실행하면 되는지 저장하는 공간
다른 스레드와 공유하지 않고, 각각의 스레드마다 가지는 공간
Native Method Area
JAVA가 아닌 Native
언어(C/C++
)을 실행하기 위해 사용되는 공간
다른 스레드와 공유하지 않고, 각각의 스레드마다 가지는 공간
관련 글
2021/03/07 - [Language/JAVA] - JVM과 JVM 아키텍처 (Class Loader, Runtime Data Area, Execution Engine)
반응형
'Language > JAVA' 카테고리의 다른 글
JVM GC 동작 순서와 GC 종류(Serial / Parallel / CMS / G1 GC ) (0) | 2021.03.07 |
---|---|
JVM GC(Garbage Collector) 구조 (0) | 2021.03.07 |
JVM과 JVM 아키텍처 (Class Loader, Runtime Data Area, Execution Engine) (0) | 2021.03.07 |
Java - 연산자의 종류 (증감/부호/산술/논리/비교/대입 연산자) (0) | 2021.02.03 |
Java - 형 변환 (Type Conversion) (0) | 2021.02.03 |