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

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

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

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

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

Пример:

java
AtomicLong counter = new AtomicLong(0);

// Потокобезопасное инкрементирование
long newValue = counter.incrementAndGet();  

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

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

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

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

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