Written by
java-style
on
on
[JAVA] 메서드가 메모리에 저장되는 과정
[JAVA] 메서드가 메모리에 저장되는 과정
728x90
반응형
코드
다음과 같이 static으로 정의된 main과 add 메서드가 있다고 해봅니다.
main메서드는 변수 a와 b를 30, 50으로 선어하였고 add메서드를 통해 v를 선언하였습니다.
Method Area
Method Area는 byte code가 저장되는 영역으로 static zone, non-static zone으로 나누어 집니다.
클래스파일을 실행시키면 JVM은 main메서드를 제일먼저 찾습니다.
main과 add는 static으로 선언된 메서드이기 때문에 static zone에 저장이 됩니다.
Statck Area
Stack Area는 Stack으로 되어있기 때문에 LIFO( Last In First Out )구조 입니다.
그래서 제일 먼저 실행된 main메서드가 제일 아래에 있고, 그 위에 add메서드가 위치합니다.
add가 실행되고 sum을 return 하게 되면 제일 위에 있던 add메서드가 삭제되고 main 메서드만 남게 됩니다.
main메서드도 할일을 마치면 Stack Area에서 없어지며 프로그램이 종료됩니다.
728x90
반응형
from http://sloth.tistory.com/65 by ccl(A) rewrite - 2021-12-18 20:01:52