This is because Integers -128 to 127 are cached, so in second example x and y refer to the same Integer instance.
Integer x = 100; // x refers to cached 100
x++;
is equivalent to
int var = x.intValue();
var++;
x = Integer.valueOf(var); // returns cached 100
See Integer.valueOf(int) API.