import java.lang.*;
public class Start {
public static void main(String[] args) {
System.out.println("Hello OOP!!!");
}
}
JRE의 동작:
main()
메서드가 있는지 확인한다.
main()
메서드를 발견한다.main()
메서드의 존재가 확인되면 JVM에 전원을 넣어 부팅한다.JVM의 동작 :
JRE에게 목적 파일을 전달받아 실행한다.
전처리를 한다.
목적 파일 내에 있는 모든 Class와 import package를 스태틱 영역에 배치한다.
main()
메서드 실행을 위해 main()
스텍 프레임을 스텍 영역에 배치한다.
메서드의 인자 args를 저장할 변수 공간을 스택 프레임에 할당한다.
main()
메서드를 실행한다.
main()
메서드의 끝을 나타대는 닫는 중괄호를 만난다.
스택 프레임을 소멸시킨다.
여는 중괄호 {
로 스택 프레임이 만들어지고 닫는 중괄호 }
로 스택 프레임이 소멸된다.
main()
메서드가 끝나면 JRE는 JVM을 종료하고 JRE 자체도 운영체제 상의 메모리에서 사라진다.