Java仮想マシン-32bと64b

32bマシンでは、32bバージョンのJVMのみをインストールできます。64bマシンでは、ユーザーは32bバージョンと64bバージョンのどちらかを選択できます。ただし、これには、Javaアプリケーションのパフォーマンスに影響を与える可能性のある特定のニュアンスがあります。

Javaアプリケーションが4G未満のメモリを使用する場合は、64bマシンでも32bJVMを使用する必要があります。これは、この場合のメモリ参照は32bのみであり、それらの操作は64bアドレスの操作よりも安価であるためです。この場合、OOPS(通常のオブジェクトポインター)を使用している場合でも、64bJVMのパフォーマンスは低下します。OOPSを使用すると、JVMは64bJVMで32bアドレスを使用できます。ただし、基になるネイティブ参照は64bのままであるため、それらの操作は実際の32b参照よりも遅くなります。

アプリケーションが4Gを超えるメモリを消費する場合、32b参照は4Gを超えるメモリをアドレス指定できないため、64bバージョンを使用する必要があります。両方のバージョンを同じマシンにインストールし、PATH変数を使用してそれらを切り替えることができます。