Java
JVM(Java Virtual Machine) 메모리구조
림디
2020. 3. 21. 12:00
반응형
JVM은 메모리를 메모리의 용도에 따라 Method area, Call Stack, Heap에 나누어 관리한다.
Method area | 클래스 데이터 및 클래스 변수 |
Call Stack | main 및 지역 변수 |
Heap | 인스턴스 변수 |
Method area - 프로그램 실행 중에 사용되는 클래스를 JVM이 클래스파일(.class)를 읽고 분석하여 이 영역에 클래스 데이터와 변수를 저장 및 생성한다.
Call Stack - 메서드가 호출되면, Call Stack에서 호출된 메서드를 위한 메모리가 할당되며, 이 메모리는 메서드가 작업을 수행하는 동안 지역변수, 매개변수 들과 연산의 중간 결과 등을 저장하는데 사용된다. 그리고 메서드가 작업을 마치면 할당되어있던 메모리공간은 반환된다.
Heap - 프로그램이 실행 되는 중에 모든 인스턴스가 생성되는 공간이다.