기술면접

자바의 메모리 영역에 대해 설명하시오

검은고양이개발자 2023. 1. 11. 10:08
반응형

자바의 메모리 영역은 (Method,  Heap, Stack)area /  PC Register Native Method Stack

이렇게  5가지로 구성되어져 있습니다.

 

먼저 Method 영역은static, class 영역이라고도 불리는데

전역변수나 static으로 선언되는 것들을 메모리에 상주시킵니다.

주로 클래스 정보, static변수, 변수 정보, 메소드 정보 등을 저장합니다.

그래서 우리가 클래스를 만들면 클래스에 대한 정보가 Method Area에 들어가게 됩니다.

 

Heap 영역은 인스턴스를 생성할 때 생성되는 메모리 형식인데

new를 사용하여 객체를 만들 때 저장되고

참조형인 class,interface,enum,Array 등 자료형도 같이 저장됩니다.

힙의 참조 주소는 Stack Area 에서 갖고 있고 해당 객체를 통해서만 힙 영역에 있는 인스턴스를 이용할 수 있습니다.

 

Stack 영역

스택 영역은 int,long,boolean 등 기본 자료형을 생성할 때 저장하는 공간으로, 임시적으로 사용되는 변수나 정보들이 저장되는 영역입니다. 메소드가 호출될 때마다 생성하고, 메서드 실행이 끝나면 제거됩니다.

 

PC Register

pc register는 Thread가 생성될 때마다 생기는 공간으로 Thread가 어떠한 명령을 실행하게 될지에 대한 부분을 기록 합니다. 

 

Native method stack

자바 외 언어로 작성된 네이티브 코드를 위한 메모리 영역입니다. 보통 c/c++등의 코드를 수행하기 위한 스택입니다.

반응형