IntegerCache个人理解

当我们使用Integer包装类的自动拆装箱的时候,如果127<=值>=-128会使用Integer生成好的缓存。

我们直接写代码解读:

IntegerCache个人理解

上面代码经过编译器编译后:

IntegerCache个人理解

我们来查看Intger.valueOf()源码:

IntegerCache个人理解

这里不做过多解析,相信有经验的人都能看懂。

我们继续来看IntegerCache的实现:

IntegerCache个人理解

但是:缓存的最大值是可通过虚拟机参数配置的,来看如下代码

IntegerCache个人理解

该方法是Integer里的静态方法,是在System.class的初始化方法触发的。