Встречается на собеседованиях • сегодня
Что такое volatile в Java
Ключевое слово volatile в Java гарантирует видимость изменений переменной для всех потоков. Оно предотвращает кэширование переменной в регистрах процессора, обеспечивая чтение из основной памяти.
Основные особенности:
- Атомарность чтения/записи (но не операций типа increment)
- Запрет реордеринга операций компилятором
- Гарантия happens-before для других потоков
Пример:
java
class Shared {
volatile boolean flag = false;
void toggle() {
flag = !flag; // Не атомарно!
}
}Используется для:
- Флагов завершения работы потоков
- Простых shared-переменных без сложных инвариантов
Не заменяет synchronized для сложных операций! Для атомарных операций лучше использовать Atomic-классы.

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