之前有对数据类型做介绍:
文中就有介绍到在JDK5以及JDK5之后Integer的自动装箱和拆箱。
#Integer缓存策略
虚拟机将创建在一定范围内(-128到127)的整数缓存到一个对象数组,以便进行重用。
缓存:先查缓存,查到了则从缓存中取,没有则重新创建。
为什么不说Int缓存策略而是Integer,说明我们的缓存策略是在自动装箱的时候触发。
那么啥时候会进行自动装箱呢,这样:
Integer a = 10; //反编译:系统自动执行valueOf方法,拆箱则是:intValue方法。
这样一句代码就完成了自动装箱的操作:调用Integer的“valueOf()”方法。
public static Integer valueOf(int i) {
//low:-128,high:127。
if