I could understand that with compressed oops , we can only use 32 GB of RAM. Is there someway i can use more than that like by allocating 2 heap or something ?
Thank
If you need more than 32 GB, I suggest you consider using some off heap memory. This effectively gives you an additional memory space which doesn't use up much heap.
For example, I routinely use 200-800 GB but only 1-2 GB of that is heap. This means I have most efficient form of compressed Oops and virtually unlimited capacity. Note: there are three forms of compressed Oops,
Two ways of using off heap memory are direct memory ByteBuffers and memory mapped files. Direct memory scale well up to about 3/4 of your main memory size. Memory mapped files scale well up to the size of you hard drive space (which is typically much more)
Here i have applied many optimization such that at the end 80% of space is eaten up by the references rather than the actual data.
That sounds like you are not using the most efficient data structures. You can use different data structures where data is more of the spaces used or at least 2/3rds.