¿Qué es exactamente una referencia en Java?

¿Qué es exactamente una referencia en Java? ¿Es una dirección de memoria? ¿Es una referencia de Java el equivalente de un puntero de C ++ desreferenciado?

En otras palabras, dado lo siguiente:

Object o1 = new Object();
Object o2 = new Object();

o1 == o2

¿Es la comparación anterior el equivalente a comparar dos punteros en C ++?

Respuestas a la pregunta(4)

Su respuesta a la pregunta