hashcode在java对象头中的作用是什么

问题描述 投票:3回答:1

当锁处于无锁状态时,对象头中有25位用于标识哈希码。我想知道hashcode的用处。

java jvm-hotspot
1个回答
1
投票

这是一个实现细节,因此真正的定义在源代码中,例如these comments应该解释其中的一些细节。

默认的hashCode有25位用于32-bit VM(不知道你从哪里得到23)和31用于64-bit VM。

我想通过无锁状态你的意思是偏向锁定,但它是一个或另一个,而不是两个同时,因为标记中没有空间可以同时工作。

实用性是相同的(无论你的意思是什么) - 只是因为有较少的位,所以预期会有更高的冲突。

© www.soinside.com 2019 - 2024. All rights reserved.