自动拆装箱:
基本数据类型和对应的包装类型的相互转换。
Integer x = 2; //自动装箱
int y = x; //自动拆箱
查看Integer源码,自动装箱时,编译器会调用 valueOf()方法,如果值在-128~127之间时,会引用IntegerCache(缓存池)里的对象,如果不在这个区间,会 new 一个对象:
在JKD1.8中,IntegerCache缓冲池的下界是-128,上界默认是127,但上界是可以调的,可以设置jvm的-XX:AutoBoxCacheMax=<size> 来指定上界的大小。