Intger默认缓存池大小为-128 - 127
可以通过设置参数,修改缓存池的最大值
缓存池的右边界(最大值)最小为127,最大为Integer.MAX_VALUE - (-low) -1
i = Math.max(i, 127);
// Maximum array size is Integer.MAX_VALUE
h = Math.min(i, Integer.MAX_VALUE - (-low) -1);
new Integer(int)
每次都会新建一个对象Integer.valueOf(int)
,如果int在缓存池内,多次调用则会返回同一对象,如果不在则会调用 new Integer
返回新对象
编译器会在缓冲池范围内的基本类型自动装箱过程调用 valueOf() 方法,因此多个 Integer 实例使用自动装箱来创建并且值相同,那么就会引用相同的对象,否则返回一个新的对象
Integer m = 123;
Integer n = 123;
System.out.println(m == n); // true
Integer a =