java内存分配的问题

Integer i1=1; Integer i2=1; System.out.println(i1==i2);//true Integer i3=128; Integer i4=128; System.out.println(i3); System.out.println(i4); System.out.println(i3==i4); // false System.out.println(i3.equals(i4));//true结果:
true
false
true
i3和i4比127小的时候
System.out.println(i3==i4);
是真的
比128大的时候是假的
这是为什么呢?