Basically,
The Java Virtual Machine Specification says that a "variable is a storage location," and a "variable of reference type can hold ... a reference to any object whose class is assignment compatible (ยง2.6.7) with the type of the variable." Ultimately, these "reference values ... are
pointers to these objects." (See
2.4.6 Reference Types, Objects, and Reference Values and
2.5 Variables.)
I think the level of detail you're asking about might be specific to the implementation of the JVM. I don't think we can know whether a
Java reference points
directly to the object itself, or whether it points to some sort of "table" that stores an address of the object.