cleanUrl: /posts/optimizing-java-jvm-overview
JVM은 스택 기반의 해석 머신이다.
register 는 없지만 일부 결과를 실행 스택에 보관하며, 이 스택의 가장 위에 쌓인 값을 가져와 계산한다.
JVM interpreter 는 while
문 안에 switch
문 으로 이해할 수 있다.
while(조건) {
switch(대상) {
case 1:
case 2:
default:
}
}
java HelloWorld
라는 명령을 실행하면HelloWorld
클래스가 실행된다.여기서 application 의 진입은 HelloWorld.class
의 main()
method 이다.
제어권을 이 클래스로 넘기기 위해 가상 머신(이하 VM) 이 실행되기 전에 이 클래스를 load 해야한다.
자바 process 가 초기화되면 사슬처럼 연결된 클래스 로더가 차례차례 작동한다.
java.lang.Object
, Class
, Cloassload
가 이에 해당함