仮想マシンと動的コンパイル

Javaコンパイルしてバイトコード生成して、インタプリタで実行するから遅いですねーという話なんだが、単純にインタプリタというわけでもないらしい。仮想マシン超がんばってる。
Hotspot VMの基本構造を理解する (2/2):チューニングのためのJava VM講座(前編) - @IT
実行時間の80%を占めるのは20%のコードとかいう経験則とかあるように、ループとかで何度も実行されるようなクリティカルな部分というのがだいたいあるわけで、すんごい何度も実行されているコードを検出すると、実行途中で動的にコンパイルし、ネイティブコードをメモリ上に生成。以降はこのネイティブコードを呼び出して実行するなんてことをしてるらしい。へぇ。