Встречается на собеседованиях • сегодня
Какую проблему решает volatile
volatile решает проблему видимости изменений переменной между потоками и запрещает переупорядочивание операций с ней. Без volatile изменения, сделанные в одном потоке, могут быть не видны другим потокам из-за кеширования процессором или оптимизаций JVM.
Пример:
java
class Example {
private volatile boolean flag = false;
public void toggleFlag() {
flag = true; // Изменение видно всем потокам сразу
}
public boolean isFlag() {
return flag; // Чтение всегда актуального значения
}
}Ключевые моменты:
- Гарантирует happens-before между записью и последующим чтением
- Не обеспечивает атомарность составных операций (например, инкремента)
- Дешевле
synchronized, но с более узкой областью применения

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