Typically the default implementation of Object.hashCode() is some function of the allocated address of the object in memory (though this is not
Object.hashCode()
As far as I know, this is implemented to return the reference, that will never change in a objects lifetime .