中間言語インタプリタ形式のプログラミング言語で用いられる高速化の技法の一つで、あらかじめネイティブなコードに変換して実行するもの。
JavaVMや.NET Frameworkなど仮想計算機(VM)で動作する各種言語のバイトコードを実行する際、あらかじめオペレーティングシステム(OS)のネイティブなコードにコンパイルするものをいう。
OS/CPUが直接実行できるため、仮想計算機で実行するよりも高速化することができる。また、バイトコードのポータビリティも損なわれない。
プログラムの変換に際して、元のバイトコードと変換後のネイティヴコードを格納する必要があり、メモリを多く必要とするという問題がある。また、一部のJavaプログラムはJITコンパイラで正常に稼働しないという問題もある。