Compressed Object Pointers
The
-XX:+UseCompressedOops
option can improve performance of the 64-bit JRE when the Java object heap is less than 32 gigabytes in size. In this case, HotSpot compresses object references to 32 bits, reducing the amount of data that it must process. (from: http://java.sun.com/javase/6/webnotes/6u14.html)
This gives a huge boost for memory-intensive applications.
Take for example an application which heavily uses tree-maps.
Tree element: pointer to next + pointer to previos + pointer to key + pointer to value (+ some housekeeping bytes).
4 x64 bit pointers which can become 32 bits now.
It won`t reduce the memory footprint to half , but it can give you an incredible boost. so ... (-XX:+) UseCompressedOoops.