Встречается на собеседованиях • сегодня
Что говорит ключевое слово volatile Java коду
Ключевое слово volatile в Java гарантирует видимость изменений переменной для всех потоков. Оно предотвращает кэширование переменной в регистрах процессора, обеспечивая чтение из основной памяти. Также volatile запрещает переупорядочивание операций вокруг переменной (часть happens-before).
Пример:
java
public class SharedObject {
private volatile boolean flag = false;
public void toggleFlag() {
flag = !flag; // Запись в volatile
}
public void doWork() {
while (!flag) { // Чтение из volatile
// Ждём изменения флага
}
System.out.println("Flag changed!");
}
}Особенности:
- Гарантирует атомарность для примитивов (кроме long/double до Java 5)
- Не заменяет synchronized (не обеспечивает атомарность составных операций)
- Используется для простых флагов или состояний

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