Встречается на собеседованиях • сегодня

Является ли AtomicInteger volatile

AtomicInteger не является volatile, но обеспечивает аналогичную гарантию видимости изменений между потоками.

Ключевые отличия:

  • volatile обеспечивает happens-before для одиночных операций чтения/записи.
  • AtomicInteger предоставляет атомарные операции (например, incrementAndGet(), compareAndSet()), которые безопасны для многопоточного доступа.

Пример:

java
AtomicInteger counter = new AtomicInteger(0);

// Поток 1
counter.incrementAndGet(); // Атомарная операция  

// Поток 2  
int value = counter.get(); // Гарантированно увидит последнее значение  

Внутри AtomicInteger использует volatile поле и Unsafe для атомарных операций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы