> It is clear from writing a simple program that creates Strings, that
> almost double the amount of memory is necessary when running on a 64
> bit jvm (I tried this on windows).
>
> Is there any way to reduce the amount of memory (a jvm setting or
> something) - or is this just the penalty for running on 64bit?
There are two issues here.
Firstly, if you have 64-bit addresses, then they are going to take up
twice as much memory as 32-bit addresses. AIUI, on non-x86 the extra
memory bandwidth can cause a slowdown of around 10-15% (AMD64 is more
than compensated by not sticking too closely to the x86 design).
Secondly, IIRC, client HotSpot does not run on AMD64 (or "EM64-T").
Server HotSpot uses more memory.
Tom Hawtin