基本类型对应的缓冲池如下:
boolean values true and false
all byte values
short values between -128 and 127
int values between -128 and 127
char in the range \u0000 to \u007F
在使⽤这些基本类型对应的包装类型时,如果该数值范围在缓冲池范围内,就可以直接使⽤缓冲池中的
对象。
在 jdk 1.8 所有的数值类缓冲池中,Integer 的缓冲池 IntegerCache 很特殊,这个缓冲池的下界是 -
128,上界默认是 127,但是这个上界是可调的,在启动 jvm 的时候,通过 -XX:AutoBoxCacheMax=
来指定这个缓冲池的⼤⼩,该选项在 JVM 初始化的时候会设定⼀个名为
java.lang.IntegerCache.high 系统属性,然后 IntegerCache 初始化的时候就会读取该系统属性来决定上
界。