JVM : java virtual machine (java의 벡엔드 담당)
응용 프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는 데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 나누어 관리한다.
- Method Area
- 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스를 읽고 분석하여 클래스 데이터를 저장 , 이때 클래스 변수도 생성
- Call Stack / execution stack <호출스택>
- 메서드 작업에 필요한 메모리 공간 제공, 지역변수, 연산의 중간결과 저장, 작업을 마친후 메모리 공간은 반환됨.
- Heap
- 인스턴수가 생성되면 공간, 프로그램 실행중 생성되면 인스턴스는 모두 여기에 생성, 인스턴스 변수 생성 공간