Java – does a 32-bit process need more memory when running on a 64 bit system?
I have a Java application that is quite memory hungry
If I run the same application on 64 bit Windows XP Professional (everything else is exactly the same), it needs - xms1400m to prevent OUTOFMEMORY conditions
As far as I know, if I have a C program, I need more memory to compile into 32-bit and 64 bit versions, because the pointer is wider, and so on In my java example, the virtual machine (sun) is the same and the bytecode is the same
Why do 64 bit machines need more memory?
Solution
It may be because the virtual machine implementation is different between 32 / 64 bit architectures, so it consumes more memory (wider types, different GC)
The bytecode does not matter when passing tasks to the underlying system I'm not sure if Java and memory efficiency are the two terms I'm going to combine: P