Java Memory Area
Method Area
Method Area
JVM이 실행되면서 생기는 공간
Class 정보, 전역 변수 정보, Static 변수 정보가 저장되는 공간
Runtime Constant Pool
말 그대로 상수가 저장되는 공간
모든 thread에서 정보가 공유된다
Heap
Heap
new 연산자로 생성된 객체, Array와 같이 동적으로 생성된 객체가 저장되는 공간
Heap 영역에 저장된 데이터는 GC가 처리하지 않는한, 소멸되지 않는다
Reference Type
데이터가 저장되는 공간모든 thread에서 정보가 공유된다
Stack
Stack
지역변수, method의 매개변수와 같이 잠시 사용되고 필요 없어지는 데이터가 저장되는 공간
LIFO (Last In First Out)
구조로, 나중에 들어온 데이터가 먼저 나간다만약 지역변수지만, Reference Type일 경우에는 Heap에 저장된 데이터의 주소값을 Stack에 저장해서 사용하게 된다
기본형 (Primitive Type)
데이터가 저장되는 공간Thread마다 하나씩 존재한다
PC Register
PC Register
Thread가 생성되면서 생기는 공간
Thread가 어떤 명령어를 처리하고 있는지, 그 주소를 등록한다
JVM이 실행하고 있는 현재 위치를 저장하는 역할
Native Method Stack
Native Method Stack
Java가 아닌 언어 (C, C++) 로 구성된 method의 실행이 필요할 때 사용되는 공간
Last updated