Встречается на собеседованиях • сегодня

Какой принцип лежит в основе Java Memory Model

Java Memory Model (JMM) определяет правила видимости изменений переменных между потоками и гарантирует корректное выполнение многопоточных программ. Основной принцип — happens-before, который устанавливает порядок операций между потоками. Если операция A happens-before B, то изменения, сделанные в A, гарантированно видны в B.

Пример:

java
int x = 0;
boolean ready = false;

// Поток 1
x = 42;
ready = true; // happens-before запись в ready

// Поток 2
while (!ready); // ожидание happens-before
System.out.println(x); // гарантированно увидит 42

Ключевые аспекты JMM:

  • Атомарность операций
  • Видимость изменений
  • Упорядочивание операций

Без happens-before возможны race conditions и неожиданные результаты из-за переупорядочивания операций компилятором/процессором.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы