실행 엔진이란?

클래스 로더를 통해 런타임 데이터 영역에 배치된 Class

즉, 바이트 코드를 명령어 단위로 읽어 실행한다.

바이트 코드를 기계어로 읽어 실행함.

실행 엔진 구조

structure.png

  • Interpreter
    • 바이트 코드를 한 라인씩 읽어 해석후 실행하는 방식.
    • 속도가 느리다는 단점이 있다.
  • JustInTme
    • 주로 JIT 이라고 줄여서 불리며, 인터프리터의 단점을 보안해서 등장
    • 인터프리터 방식에 비해 실행속도는 빨라졌지만, 어셈블러 코드로 변경하는데 비용이 발생함.
    • 반복 수행이 발생하지 않으면 인터프리터 방식이 더 빠르기에, 인터프리터 방식으로 진행하다 일정 기준을 넘어서면 JIT 방식으로 실행한다.
  • GarbageCollector
    • 더 이상 참조되지 않는 객체를 모아서 정리한다.
    • 조건에 맞는 GC 방식을 사용한다.

참고