и, и в разных местах, они добавляют или вычитают из него, например. в
public final int incrementAndGet() {
for (;;) {
int current = get();
int next = current + 1;
if (compareAndSet(current, next))
return next;
}
}
Таким образом, он должен следовать стандартной математической математике Java и обернуть ее в Integer.MIN_VALUE. JavaDocs для AtomicInteger молчат по этому вопросу (из того, что я видел), поэтому я предполагаю, что это поведение может измениться в будущем, но это кажется крайне маловероятным.