Моя предыдущая версия, а не ложная, была быстро написана с упрощением.
Изменение с 32 до 64 бит автоматически не приведет к быстрому запуску приложения, оно может в некоторых случаях привести к обратному. С отрицательной стороны Выполнение удаления ссылок на указатели памяти в JVM может занять более длительное время с 64-разрядными указателями, чем 32 бит. Полный сбор мусора и уплотнение кучи размером 16 ГБ, вероятно, займет больше времени, чем с кучей в 2 ГБ.
С положительной стороны: Есть 64-разрядные процессоры, более эффективные, чем 32-разрядные. 64-бит JVM позволит вам иметь размер кучи 2^32 раза больше, чем чуть меньше, чем 4 ГБ, который вы можете получить с 32 бит. (Если вы можете позволить себе купить этот объем оперативной памяти) Некоторые JVM могут работать со сжатыми ссылками, если у вас размер кучи менее 4 ГБ, что дает вам преимущество в 64-битных инструкциях без необходимости платить 64-битную цену отмены ссылки ,
Если у вас есть хорошая JVM, я бы пошел на 64 бита независимо от размера кучи, просто будьте готовы, чтобы вам потребовалось получить удар производительности за наличие действительно большой кучи.
Разве не одно преимущество, по крайней мере на Windows, возможность использовать больше памяти, чем около 1,5 ГБ? Существует некоторый такой предел для 32-битного Java-процесса. http://mystyleit.com/blogs/mystyleit/archive/2009/05/27/32bit-windows-memory-and-java.aspx – Jonik 2009-07-24 11:55:03
Не последние 64-разрядные JVM немного умнее в назначении ссылок? I.e., используя только 32-битные ссылки, если он не нуждается в полном 64-битном. Кажется, я это где-то читал. – 2009-07-24 12:10:29