Встречается на собеседованиях • сегодня
Зачем нужен Volatile
volatile в Java обеспечивает видимость изменений переменной для всех потоков. Без него изменения могут остаться в кэше процессора и не быть замеченными другими потоками.
Основные свойства:
- Гарантирует атомарность чтения/записи (для long/double).
- Запрещает переупорядочивание операций компилятором/процессором.
Пример:
java
public class Example {
private volatile boolean flag = false;
public void toggleFlag() {
flag = !flag; // Не атомарно! Но изменения видны сразу.
}
}Когда использовать:
- Для простых флагов или состояний (например, остановка потока).
- Если переменная записывается одним потоком, а читается многими.
Не подходит:
- Для сложных операций (например, инкремент
i++), где нужна атомарность — используйтеAtomicIntegerилиsynchronized.

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