실행엔진(Execution Engine) : (이부분은 자세한 공부가 더 필요하다.) runtime data area에 적재된 바이트코드가 실행되는 공간이다. 실행엔진이 바이트코드를 읽어들여 실행한다.
- 인터프리터 : 읽어들인 바이트 코드를 한줄씩 실행한다. 같은 코드가 중복되는 경우 같은걸 또 실행해야한다.
- JIT 컴파일러: 인터프리터 효율을 높이기 위해 인터프리터가 반복되는코드를 발견하면 IT 컴파일러로 반복되는 코드를 모두 네이티브 코드로 바꿔두고 그 다음부터 인터프리터는 네이티브 코드로 컴파일된 코드를 바로 사용한다.