Какова роль хэш-кода в заголовке Java-объекта - PullRequest
3 голосов
/ 02 апреля 2019

В заголовке объекта имеется 25 бит для идентификации хеш-кода, когда блокировка находится в состоянии без блокировки. Я хотел бы знать полезность хэш-кода.

1 Ответ

1 голос
/ 02 апреля 2019

Это детали реализации, так как истинное определение содержится в исходном коде, например эти комментарии должны объяснить некоторые из этих деталей.

По умолчанию hashCode имеет 25 бит для ВМ 32-bit (не знаю, откуда вы взяли 23) и 31 для ВМ 64-bit.

I думаю под состоянием без блокировки вы подразумеваете смещенную блокировку, но это либо одна, либо другая, а не обе одновременно, потому что просто нет места в метке для обеих.

Полезность одинакова (что бы вы ни имели в виду) - просто, поскольку битов меньше, ожидаются более высокие коллизии.

...