자바에서 작성한 코드가 컴파일되어 실행되기까지의 과정을 피상적으로만 알고 있어 실제로 main메서드가 실행되는 과정을 알고 싶어 정리해봅니다.
main() 메서드 - 프로그램이 실행되는 시작점
main()메서드가 실행되기전에 JRE와 JVM에서 일어나는 일들
1. JRE(Java RunTime Environment) -프로그램에 main() 메서드가 있는지 확인한다. -main() 메서드가 있는지 확인이 되면, 프로그램 실행을 위해 JVM에 전원을 넣어 부팅한다.
2. JVM이 목적파일을 실행하기 위해 하는 과정 -java.lang패키지를 T메모리의 스태틱 영역에 배치 -import된 패키지를 T메모리의 스태틱 영역에 배치 -작성된 모든 클래스를 T메모리의 스태틱 영역에 배치 * JVM 하는일 -목적파일을 받아 목적파일을 실행한다.
3. 스택영역 및 args인자를 저장할 변수공간 스택 프레임 -여는중괄호(main메서드의 "(")가 있을시에 하나씩 생성됨 T메모리에 스택프레임 스택영역 할당 -main메서드의 인자 args를 저장할 변수공간 스택 프레임의 밑에 생성 -그리고 main메서드의 첫 명령문 실행