java.lang.Integer.IntegerCache在-128和127之间的原因?

时间:2014-05-05 19:06:21

标签: java

java.lang.Integer有一个内部缓存(IntegerCache),可以优化对-128到127之间数字的访问。问题是为什么只在这些数字之间?为什么不-256到255?

2 个答案:

答案 0 :(得分:0)

适合一个字节。从-256到255是512个数字,需要9位。 -128到127,有符号字节的范围取8位,即一个字节的容量。

答案 1 :(得分:0)

也许他们使用1Byte int来存储和索引缓存,签名的1 Byte int是-128到127。 -256到255至少可以处理2个字节的int,这是mybe太多,因此要慢。