O que exatamente é uma referência em Java?

O que exatamente é uma referência em Java? É um endereço de memória? Uma referência Java é equivalente a um ponteiro C ++ desreferenciado?

Em outras palavras, dado o seguinte:

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

o1 == o2

A comparação acima é equivalente a comparar dois ponteiros em C ++?