본문 바로가기
Study

(Java) JVM 메모리 구조 및 변수 적재 위치

by Developer RyanKim 2020. 4. 17.

JVM 메모리 구조 및 변수 적재 위치

JVM은 할당받은 메모리를 용도에 따라 여러 영역으로 나누어 관리하는데,
크게 3가지 영역이 있다.

 

1. 메소드 영역 (Method Area)

프로그램 실행 중 사용 되는 Class 파일을 JVM이 읽어 클래스에 대한 정보를 저장.
해당 클래스의 클래스 변수도 함께 저장

 

2. 호출스택 (Call Stack)

메소드 작업에 필요한 메모리 할당. 매개변수, 지역변수, 연산 중간결과 등을 저장.

메소드가 작업을 마치면 메모리 반환

 

3. 힙 (Heap)

인스턴스가 생성되어 저장되는 메모리 영역. 인스턴스 변수 포함

 

public class ClassData {
    public static int classVP = 1;
    public static Card classVR = new Card();

    public int instanceVP = 11;
    public Card instanceVR = new Card();

    public void method(){
        int localVP = 111;
        Card localVR = new Card();
		...
    }
}

 

댓글