JAVA中的Integer对象大小比较100等于100,1000不等于1000

integer源码中的方法valueOf()做了一个条件判断,其中IntegerCache.low的值为-128,IntegerCache.higth的值为127

也就是说目标值在-128~127中会直接从cache数组中读取值,否则会创建新的对象。

为什么默认值在-128~127之间

JAVA api中说-128~127之间数据在int范围内时频繁使最高的,为了减少频繁创建对象带来内存消耗,这里其实用上了享元模式,以提高对时间和空间的性能。

posted @ 2022-04-17 16:50  开源遗迹  阅读(345)  评论(0)    收藏  举报