Виртуальная машина Java - 32b против 64b

На машине 32b можно установить только версию JVM 32b. На машине 64b пользователь может выбирать между версией 32b и 64b. Но здесь есть определенные нюансы, которые могут повлиять на работу наших Java-приложений.

Если приложение Java использует менее 4G памяти, мы должны использовать JVM 32b даже на машинах 64b. Это связано с тем, что в этом случае ссылки на память будут иметь размер только 32b, и манипулирование ими будет дешевле, чем манипулирование адресами 64b. В этом случае JVM 64b будет работать хуже, даже если мы будем использовать OOPS (обычные указатели на объекты). Используя OOPS, JVM может использовать адреса 32b в JVM 64b. Однако манипулирование ими будет медленнее, чем реальными ссылками 32b, поскольку базовые собственные ссылки по-прежнему будут 64b.

Если наше приложение будет потреблять больше памяти 4G, нам придется использовать версию 64b, так как ссылки 32b могут адресовать не более чем 4G памяти. Мы можем установить обе версии на одном компьютере и переключаться между ними с помощью переменной PATH.