Intger默认缓存池大小为-128 - 127
    image.png

    可以通过设置参数,修改缓存池的最大值
    image.png
    缓存池的右边界(最大值)最小为127,最大为Integer.MAX_VALUE - (-low) -1

    1. i = Math.max(i, 127);
    2. // Maximum array size is Integer.MAX_VALUE
    3. h = Math.min(i, Integer.MAX_VALUE - (-low) -1);

    new Integer(int)每次都会新建一个对象
    Integer.valueOf(int),如果int在缓存池内,多次调用则会返回同一对象,如果不在则会调用 new Integer返回新对象

    编译器会在缓冲池范围内的基本类型自动装箱过程调用 valueOf() 方法,因此多个 Integer 实例使用自动装箱来创建并且值相同,那么就会引用相同的对象,否则返回一个新的对象

    1. Integer m = 123;
    2. Integer n = 123;
    3. System.out.println(m == n); // true
    4. Integer a =