Встречается на собеседованиях • сегодня
Как работает Volatile
Ключевое слово volatile в Java гарантирует видимость изменений переменной для всех потоков. Когда переменная объявлена как volatile, чтение всегда будет происходить из основной памяти, а запись — сразу в основную память, минуя кэш процессора. Это предотвращает проблемы с кэшированием и переупорядочиванием операций.
Пример:
java
public class VolatileExample {
private volatile boolean flag = false;
public void toggleFlag() {
flag = !flag;
}
public void doWork() {
while (!flag) {
// Ждём изменения флага
}
System.out.println("Flag changed!");
}
}Без volatile поток doWork() может не увидеть изменения flag из-за кэширования. С volatile изменения сразу видны всем потокам. Однако volatile не гарантирует атомарность составных операций (например, инкремента). Для атомарных операций используйте Atomic-классы или синхронизацию.

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