
자바 어플리케이션이 실행될 때 사용되는 데이터들을 적재하는 영역
Method area
- 클래스, 인터페이스, 메소드, 필드 , static 변수 등의 바이트 코드를 보관
- 모든 쓰레드가 공유
Heap area
- new 키워드로 생성된 객체와 배열이 생성되는 영역이다. 메소드 영역에 로드된 클래스만 생성이 가능하고 GC가 참조되지 않는 메모리를 확인하고 제거하는 영역
- 모든 쓰레드가 공유
Stack area
- 지역 변수, 파라미터, 리턴 값 등 연산에 사용되는 임시 값이 생성되는 영역
- 메소드를 호출할 때마다 개별적으로 생성
- 개별 쓰레드마다 별도 생성
PC Register
- 쓰레드가 생성될 때마다 생성되는 영역으로 현재 실행되는 부분의 주소와 명령을 저장하고 있는 영역
- 쓰레드를 돌아가면서 수행할 수 있도록 함
- 개별 쓰레드마다 별도 생성
- 자바 외 언어로 작성된 네이티브 코드를 위한 메모리 영역
- 개별 쓰레드마다 별도 생성