JIT

    JVM의 JIT(Just In Time Compilation) 컴파일이란? C1, C2 컴파일러를 이용한 최적화

    JVM에서 코드를 실행하는 방법 JVM은 바이트 코드(Byte Code)라 불리는 기계어 코드를 실행하는 가상 머신이다. 우리가 Java나 Kotlin으로 코드를 작성하면 코드들은 컴파일 타임에 바이트 코드로 변환되며, 바이트 코드들은 런타임에 기계어로 변환되어 기계어가 JVM 상에서 실행된다. 이때 Java와 Kotlin 코드는 프로그램 실행 시점 전인 컴파일 타임에 바이트 코드로 변환이 모두 완료된다. 하지만, JVM에서 바이트 코드를 실행하기 위해서는 바이트 코드를 기계어로 변환하는 단계를 하나 더 거쳐야 한다. JVM 실행 초기에는 인터프리터에서 바이트 코드를 해석해 기계어를 실행하지만, 인터프리터만을 실행되는 바이트 코드는 성능이 좋지 않다. 때문에 JVM은 자주 실행되는 바이트 코드 실행의 최..