¿Cómo se asegura la JVM de que System.identityHashCode () nunca cambie?

Normalmente la implementación por defecto deObject.hashCode() es una función de la dirección asignada del objeto en la memoria (aunque esto no es obligatorio por elJLS). Dado que la VM desvía los objetos en la memoria, ¿por qué el valor devuelto porSystem.identityHashCode() nunca cambiar durante la vida del objeto?

Si es un cálculo de "un disparo" (el objetohashCode se calcula una vez y se oculta en el encabezado del objeto o algo así), entonces significa que es posible que dos objetos tengan la mismaidentityHashCode (¿Si se asignan primero en la misma dirección en la memoria)?

Respuestas a la pregunta(5)

Su respuesta a la pregunta