JVM 메모리 구조

|
Method Area [class data(cv)]
Call Stack [main(lv)]
Heap[instance(iv)]

메서드가 호출되면 수행에 필요한 메모리를 스택에 할당
메서드가 수행을 마치면 사용했던 메모리 반환 및 스택에서 제거
호출스택 제일 위의 메서드가 현재 실행중인 메서드
아레의 메서드가 바로위의 메서드를 호출한 메서드
public class CallStackTest {
	static void first() {
		System.out.println("1. first()가 시작되었음");
		second();
		System.out.println("2. first()가 끝났음");
	}
	static void second() {
		System.out.println("3. second()가 시작되었음");
		System.out.println("4. second()가 끝났음");
	}
	public static void main(String[] args) {
		System.out.println("5. main(String[] args)이 시작되었음");
		first();
		System.out.println("6. main(String[] args)이 끝났음");
	}
}

'오라클자바커뮤니티 > 자바' 카테고리의 다른 글

재귀호출  (0) 2014.10.12
메서드의 사용  (0) 2014.10.12
메서드의 정의 및 작성  (0) 2014.10.12
클래스의 정의  (0) 2014.10.12
클래스의 이해  (0) 2014.10.12
And