3.6 JVM의 메모리 구조 - 호출스택
메서드 영역(Method Area)
- 클래스 정보와 클래스 변수가 저장되는 곳- static
힙(heap)
- 인스턴스가 생성되는 공간- new 연산자에 의해서 생성되는 배열과 객체는 모두 여기서 생성된다.
- 인스턴스(객체, 배열)
호출스택(call stack)
- 메서드의 작업공간.- 메서드가 호출되면 메서드 수행에 필요한 메모리 공간을 할당받고,
- 메서드가 종료되면 사용하던 메모리를 반환한다.
- 현재 실행(동작) 중인 메서드
호출스택(call stack)의 특징
- 메서드가 호출되면 수행에 필요한 메모리를 스택에 할당받는다.- 메서드가 수행을 마치면 사용했던 메모리를 반환한다.
- 호출스택의 제일 위에 있는 메서드가 현재 실행중인 메서드이다.
- 아래에 있는 메서드가 바로 위의 메서드를 호출한 메서드이다.
| print| <-top
| up |
| main | <-down
class CallStackTest
{
public static void main(String[] args)
{
firstMethod();
}
static void firstMethod()
{
secondMethod();
}
static void secondMethod()
{
System.out.println("Hello World!");
}
}