我正在查看一个CPU热点函数的配置文件,其中之一是克隆一个final static int[]。你可能会问:“为什么?”因为调用者将结果用作哈希过程的起始点。
换句话说,代码需要执行以下逻辑:
换句话说,代码需要执行以下逻辑:
- 创建一个新数组
- 获取哈希种子(与数组大小相同)
- 从哈希种子计算出值并将其放入新数组中。这是一个迭代算法,因此从数组开始具有种子很有优势 - 因此想到了使用种子数组的克隆体来开始。
final
并不意味着数组变为不可变。它仅意味着你不能将该字段指向另一个不同的int[]
数组。 - BoltClock