Хорошо, давайте начнем с этого:
final Integer a = 1;
Вы создали окончательную ссылку на объект Integer, который был автоматически упакован из примитива int.
Эта ссылка может быть назначена ровно один раз, и никогда больше.
Integer b = a;
здесь вы создали вторую ссылку на тот же объект, но эта ссылка не является окончательной, поэтому выможет переназначить его на досуге.
b++;
Это сокращение для следующего утверждения:
b = new Integer(b.intValue() + 1);
И, по совпадению, то же самое для
b = b + 1;
Последнее утверждение:
b = 10
Использует автобокс для сокращения этого утверждения:
b = new Integer(10);
Надеюсь, это поможет.