== 对比的栈中的值,基本数据类型对比的是变量的值, 引用数据类型对比的是堆中内存地址 。
    Object 中的 equals() 方法默认的就是 ==
    image.png
    String 和 Integer 都重写了 equals() 方法
    image.png

    image.png

    Integer 的相关知识 IntegerCache
    JDK 中默认的的大小是 -128 到 127, 这个范围内 Integer 是变量 放到内存中, 超过这个范围 就变成 new 一个对象, equals 方法比较的是拆箱后的结果,还是相同的。
    我们常用的 JVM 优化中就有 设置 IntegerCache 大小(只能设置最大值 high),目的是节省new 对象的消耗
    java -Djava.lang.Integer.IntegerCache.high=xxxx Aclass.class

    image.png