개인공부/java
stack 구조
케잉
2024. 6. 25. 21:28
public class JavaMemoryMain1 {
public static void main(String[] args) {
System.out.println("main start"); //순서 1
method1(10); //2
System.out.println("main end");//8
}
static void method1(int m1){
System.out.println("method1 start"); //3
int cal = m1 *2;
method2(cal); //4
System.out.println("method1 end");//7
}
static void method2(int m2){
System.out.println("method2 start");//5
System.out.println("method2 end");//6
}
}
- 자바는 스택 영역을 사용해서 메서드 호출과 지역 변수(매개변수 포함)를 관리한다.
- 메서드를 계속 호출하면 스택 프레임이 계속 쌓인다.
- 지역 변수(매개변수 포함)는 스택 영역에서 관리한다.
- 스택 프레임이 종료되면 지역 변수도 함께 제거된다.
- 스택 프레임이 모두 제거되면 프로그램도 종료된다