Java 32bit Xmx vs java 64bit Xmx

Jestem z tym bardzo zmieszany.

Xmx zgodnie z dokumentami java to maksymalna dopuszczalna wielkość sterty.
Xms to minimalna wymagana wielkość sterty java i jest przydzielana podczas uruchamiania JVM.

Na 32-bitowym JVM (4 GB RAM), java -Xmx1536M HelloWorld daje nie można przydzielić wystarczającej ilości błędów pamięci.
Na 64-bitowym JVM (4GB Ram), java -Xmx20G HelloWorld działa dobrze. Ale nie mam nawet za dużo przydzielonej pamięci wirtualnej lub fizycznej.

Na tej podstawie dochodzę do wniosku, że 32-bitowy Java przydziela 1536M podczas uruchamiania JVM, ale nie 64-bitowy Java.

Czemu? Prosty Hello World nie potrzebuje 1536M do uruchomienia. Po prostu stwierdzam, że 1536M to maksimum, a nie to, że jest potrzebne.

Wyjaśnienia kogokolwiek?

questionAnswers(3)

yourAnswerToTheQuestion