For our purposes, compressed references refer to an implementation of the Java object model where references to objects in the executing application are smaller than system-wide pointers. For example, if a heap is less than 4 GB on a 64-bit machine, it can still be fully addressed by 32 bits, making it unnecessary to use 64 bits for each object reference in the runtime. This generally creates less overhead loading and dereferencing pointers to Java objects and can provide significant speedups to a program.
See also Reference compression and Reference decompression.