当我们使用Integer包装类的自动拆装箱的时候,如果127<=值>=-128会使用Integer生成好的缓存。
我们直接写代码解读:
上面代码经过编译器编译后:
我们来查看Intger.valueOf()源码:
这里不做过多解析,相信有经验的人都能看懂。
我们继续来看IntegerCache的实现:
但是:缓存的最大值是可通过虚拟机参数配置的,来看如下代码
该方法是Integer里的静态方法,是在System.class的初始化方法触发的。
当我们使用Integer包装类的自动拆装箱的时候,如果127<=值>=-128会使用Integer生成好的缓存。
我们直接写代码解读:
上面代码经过编译器编译后:
我们来查看Intger.valueOf()源码:
这里不做过多解析,相信有经验的人都能看懂。
我们继续来看IntegerCache的实现:
但是:缓存的最大值是可通过虚拟机参数配置的,来看如下代码
该方法是Integer里的静态方法,是在System.class的初始化方法触发的。