JIT
Just In Time (compiler)
인터프리터는 코드 한 줄 한 줄을 바로 기계어로 해석해 사용하므로 느리다. JIT는 자주 쓰는 기능을 미리 기계어로 해석/저장해 사용해서 상대적으로 빠르다. 다만 자주 사용한다는 기준이 얼마나 반복되야 자주 사용하는 것인지에 대한 기준이 애매모호하다.
ART
Android Runtime (compiler)
AOT(Ahead-Of-Time) compiler 중 하나로 실행할 때 해석하지 않고 설치할 때 미리 해석해 놓는다. 실행 속도와 설치 속도, 앱 크기가 증가한다. JIT가 코드 내의 반복되는 기능 실행을 위한 코드를 한 번으로 미리 해석/처리했다면, AOT는 전체 앱의 코드를 한 번으로 미리 해석/처리한다. 단점으로 폰이 재부팅되면 다시 AOT가 돌아가야 한다.
현재 JIT과 ART가 같이 쓰이고 있다.