Это детали реализации, так как истинное определение содержится в исходном коде, например эти комментарии должны объяснить некоторые из этих деталей.
По умолчанию hashCode
имеет 25 бит для ВМ 32-bit
(не знаю, откуда вы взяли 23
) и 31
для ВМ 64-bit
.
I думаю под состоянием без блокировки вы подразумеваете смещенную блокировку, но это либо одна, либо другая, а не обе одновременно, потому что просто нет места в метке для обеих.
Полезность одинакова (что бы вы ни имели в виду) - просто, поскольку битов меньше, ожидаются более высокие коллизии.