2편에서는 JVM 런타임 데이터 영역을 통해 코드가 실행되기 위한 무대를 살펴봤습니다.이번 편에서는 그 무대 위에서 코드가 실제로 어떻게 실행되는지, 즉 JVM의 실행 모델(Execution Model)을 다룹니다.“JVM은 바이트코드를 어떻게 실행할까?”이 질문에 대한 답을 이해하면, 왜 JVM에 웜업 시간이 존재하는지, 왜 처음 요청이 느린지를 자연스럽게 설명할 수 있습니다.JVM은 처음부터 기계어로 실행하지 않는다Java 코드는 컴파일되면 CPU가 바로 실행할 수 있는 기계어가 아니라 바이트코드(Bytecode)가 됩니다.JVM은 이 바이트코드를 실행하기 위해 두 가지 방식을 함께 사용합니다.인터프리터(Interpreter)JIT 컴파일러(Just-In-Time Compiler)이 구조는 우연이 아..