Встречается на собеседованиях • сегодня
Помнишь ли как работать с volatile
volatile в Java гарантирует видимость изменений переменной для всех потоков. Применяется, когда:
- переменная изменяется одним потоком, а читается другими;
- не требуется атомарность операций (например,
i++не атомарен даже сvolatile).
Пример:
java
public class VolatileExample {
private volatile boolean flag = true;
public void stop() {
flag = false;
}
public void doWork() {
while (flag) {
// Работает, пока flag == true
}
}
}Нюансы:
- Не заменяет
synchronizedили атомарные классы (AtomicIntegerи т.д.) для сложных операций. - Запрещает JVM кэшировать значение в регистрах CPU.
- Гарантирует happens-before для операций чтения/записи.

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