当锁处于无锁状态时,对象标头中有25位用于标识哈希码。我想知道哈希码的用处。
答案 0 :(得分:1)
这是一个实现细节,因为真正的定义在源代码中,例如these comments应该解释其中的一些细节。
对于hashCode
VM,默认32-bit
具有25位(不知道从何处获得23
),对于31
VM,具有64-bit
。
我猜测指的是无锁状态,即偏置锁定,但这是一个或另一个,不能同时出现,因为两者在标记工作中根本没有空间。
有用性是相同的(无论您是什么意思)-只是由于位数较少,所以预期会有更高的冲突。