Как JVM гарантирует, что System.identityHashCode () никогда не изменится?

Обычно реализация по умолчаниюObject.hashCode() является некоторой функцией выделенного адреса объекта в памяти (хотя это не обязательноJLS). Учитывая, что виртуальная машина шунтирует объекты в памяти, почему значение возвращаетсяSystem.identityHashCode() никогда не меняются в течение срока службы объекта?

Если это "один выстрел" расчет (объектhashCode вычисляется один раз и сохраняется в заголовке объекта или что-то еще), значит ли это, что два объекта могут иметь одинаковыйidentityHashCode (если они сначала будут расположены по тому же адресу в памяти)?

Ответы на вопрос(5)

Ваш ответ на вопрос