Я знаю, что этот вопрос довольно старый, и проголосовавшие ответы, вероятно, были правильными в то время, когда они были написаны. Но сейчас, в 2018 году, все изменилось.
У меня только что возникла проблема с клиентским приложением Java, работающим на Win 10 64Bit на Java 8 32Bit JVM. Он считывал 174 МБ данных с HttpsURLConnection
* InputStream
за 26 с , что ужасно медленно. Доказано, что причиной этого не являются сервер и сеть.
Думая: «Эй, между 32-битной и 64-битной JRE не может быть огромной разницы» потребовалось некоторое время, пока я не попытался выполнить тот же код, выполняемый 64-битной JVM. К счастью, в итоге я сделал это: он читал те же самые 174MB за 5 с !
Я не знаю, смогу ли я сделать это еще быстрее, но ключевой момент заключается в следующем:
- jre1.8.0_172 32Bit: 6,692 МБ / с
- jre1.8.0_172 64 бит: 34,8 МБ / с
для очень того же файла jar, выполняемого в Windows 10 64Bit.
Я понятия не имею, что может быть причиной этого, но я могу ответить на этот вопрос: «Да, 64-битная Java лучше, чем 32-битная Java». См. Также цифры в ответе на мой вопрос относительно этой проблемы.