I have a pretty hungry memory java application. On my 32-bit systems with Windows XP Professional, the application will work fine if I give it to him -Xmx1280m. Everything below is in the exception java.lang.OutOfMemoryError: Java heap space.
If I run the same application on 64-bit Windows XP Professional (everything else is exactly the same), it is required -Xms1400mto prevent the OutOfMemory condition.
As far as I understand, if I have a program in C and I will compile it for 32-bit and for 64-bit, the 64-bit version will require more memory, since pointers are wider and so on. However, in my Java example, the virtual machine (Sun) is the same, and the bytecode is the same.
Why do I need additional memory on a 64-bit machine?
source
share