Встречается на собеседованиях • сегодня
Для чего нужна Java Memory Model
Java Memory Model (JMM) определяет правила видимости изменений переменных между потоками и порядок выполнения операций в многопоточной среде. Она гарантирует предсказуемое поведение программы при работе с shared-данными.
Ключевые аспекты JMM:
- Happens-before - гарантирует порядок операций между потоками
- Видимость изменений - изменения в одном потоке становятся видны другим
- Запрет переупорядочивания - компилятор/процессор не могут менять порядок операций, нарушающий happens-before
Пример проблемы без JMM:
java
// Без синхронизации изменение флага может быть невидимо другому потоку
boolean flag = true;
new Thread(() -> {
while(flag) { /* ... */ } // Может зациклиться
}).start();
Thread.sleep(1000);
flag = false; // Изменение может не применитьсяJMM регламентирует использование volatile, synchronized, final и других механизмов для корректной работы с памятью в многопоточных приложениях.

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