[자바] 자바의 영역들

allnight5·2023년 4월 12일
0

자바

목록 보기
11/12

좀더 자세하게

1. 클래스 영역(Class area 또는 Method area)

JVM이 클래스, 인터페이스, 메서드, 변수 등의 정보를 저장하는 메모리 영역입니다.
클래스 로더에 의해 로딩되며, 모든 JVM 인스턴스에서 공유됩니다.

2. 힙 영역(Heap area)

객체가 생성되는 영역으로, 동적으로 할당되며 GC(Garbage Collector)의 대상이 됩니다.
다수의 스레드에서 공유될 수 있습니다.

3. 스택 영역(Stack area)

메서드 호출 시, 지역 변수와 매개변수, 리턴 값 등의 정보가 저장되는 영역입니다.
메서드가 실행되는 동안만 유효하며, 메서드 종료 시 해제되어 사라집니다.
메서드 호출 시마다 새로운 스택 프레임이 생성됩니다.
라스트인 라스트 아웃의 형태로 되어있다.

4. PC(Program Counter) 레지스터

현재 실행 중인 JVM 명령어의 주소를 저장하는 레지스터입니다.

5. 네이티브 메서드 스택 영역(Native method stack area)

자바 코드가 아닌, C, C++ 등의 네이티브 언어로 작성된 코드를 실행할 때 사용되는 스택 영역입니다.

6. 레지스터(Register)

CPU가 직접 사용하는 메모리로, 명령어 실행에 필요한 데이터가 저장됩니다.

7. 상수 영역(Constant area)

클래스 파일 내부의 상수들이 저장되는 영역입니다.
final 키워드로 선언된 상수 값들도 이 영역에 저장됩니다.

8. 직렬화(Serialization)된 객체를 저장하는 영역

객체 직렬화를 통해 저장된 객체들이 저장되는 영역입니다.
자바 애플리케이션의 상태를 유지하는 데 사용됩니다.

profile
공부기록하기

0개의 댓글