3 回答

TA贡献1804条经验 获得超3个赞
只是好奇,为什么在-128到127之间?
如果正在装箱的值p为true、false、字节或在\u0000至\u007f范围内的字符,或 在-128到127之间的整数或短数(含),设r1和r2是p的任意两个装箱转换的结果。通常情况下,r1=r2。
理想情况下,装箱给定的原语值p,总是会产生相同的引用。
..在实践中,使用现有的实现技术,这可能是不可行的。上述规则是一种务实的妥协。上面的最后一个子句要求某些公共值总是被装箱到不可区分的对象中。[.] 这确保了在大多数常见情况下,行为将是理想的行为,而不会造成不适当的性能惩罚,特别是在小型设备上。
..例如,内存有限的实现可能会缓存所有字符和短值,以及在-32K到+32K范围内的int值和长值。
如何将其他值缓存在此范围之外。?
-XX:AutoBoxCacheMax
Integer
缓存的大小可以由 -XX:AutoBoxCacheMax=<size>
选择。

TA贡献1851条经验 获得超4个赞
-XX:AutoBoxCacheMax=<size>

TA贡献1809条经验 获得超8个赞
添加回答
举报