As far as I know there is a 2GB memory limit per 32 bit process on Windows. However this page seems to indicate there are register settings to expand that to 3GB. Specifically IMAGE_FILE_LARGE_ADDRESS_AWARE
http://msdn.microsoft.com/en-gb/library/windows/desktop/aa366778(v=vs.85).aspx
So if you are using a 32bit JDK and stuck with it, that is is your best bet, however if you can upgrade to a 64 bit JDK do so, as if you use a 64 bit JDK on the a 64 bit version of windows this limit becomes 8TB