Runtime Data Area
JVM 메모리를 뜻함
Runtime Data Area는 5개 영역으로 나눠짐
Method Area,Heap,Stack,PC Register,Native Method AreaMethod 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) 정리
JVM GC(Garbage Collector) 정리
GC (Garbage Collector) JVM에는 메모리를 자동으로 관리해주는 특징이 있는데, 이 역할을 Garbage Collector (가비지 콜렉터)이 한다. Stop The World GC에는 stop-the-world 라는 것이 존재하여, 메모리가 관리..
memostack.tistory.com
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)
JVM과 JVM 아키텍처 (Class Loader, Runtime Data Area)
JVM Java Virtual Machine 의 약자. Java 프로그램이 플랫폼에 의존하지 않고, 어디서든 동작 가능하도록 하기 위한 Java 가상 머신이다. 단, Java 프로그램은 JVM 위에서 동작하기 때문에, JVM에 의존성을 가
memostack.tistory.com
'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 |