JAVAのプラットホーム非依存性について

CPUアーキテクチャ毎にコンパイラをいっぱい作ればいいんじゃないの?
JAVA仮想マシンを経由するメリットは?
JAVA仮想マシンも結局CPUアーキテクチャごとに対応させてるんでしょ?