Встречается на собеседованиях • сегодня
Как работает под капотом AtomicInteger
AtomicInteger использует комбинацию volatile переменной и CAS (Compare-And-Swap) операций для обеспечения атомарности без блокировок.
Внутри содержит:
java
private volatile int value;Основные методы (например incrementAndGet()) используют Unsafe класс для CAS:
java
public final int incrementAndGet() {
return unsafe.getAndAddInt(this, valueOffset, 1) + 1;
}CAS-механизм:
- Читает текущее значение (
expectedValue) - Вычисляет новое значение (
newValue) - Если
expectedValueсовпадает с актуальным значением в памяти — обновляет его наnewValue - Если нет — повторяет операцию (spin loop)
Преимущество перед synchronized — отсутствие блокировок, что повышает производительность в многопоточной среде.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы