in my eternal battle to the death with the book im trying to finish i have another question: how does the JVM reference objects? i know references are 4 bytes. i always thought they were memory locations of the object. however, doesnt the garbage collector move data in the heap sometimes to create more contiguous regions of free memory? if so, ...