Встречается на собеседованиях • сегодня
Что такое модель памяти в Java
Модель памяти Java (JMM) определяет правила взаимодействия потоков с общей памятью, гарантируя предсказуемое поведение многопоточных программ. Основные аспекты:
- Happens-before - отношение, гарантирующее видимость изменений между потоками
- Работа с volatile - чтение/запись volatile переменной создает happens-before
- Синхронизация - операции с synchronized, Lock, atomic создают happens-before
Пример проблемы видимости:
java
class Example {
int x = 0;
boolean ready = false;
void writer() {
x = 42;
ready = true; // без синхронизации другой поток может не увидеть эти изменения
}
void reader() {
if (ready) {
System.out.println(x); // может вывести 0
}
}
}JMM позволяет компилятору и процессору переупорядочивать операции для оптимизации, но гарантирует корректность при правильной синхронизации.

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