Вы здесь

Прагматика Java Memory Model

Лекция
Предмет:
Конференция:
Дата записи:
06.02.14
Дата публикации:
06.02.14
Код для блога:

Спецификация Java Memory Model в JLS пытается быть предельно сжатой и полной. Поскольку JMM пытается объять очень большой пласт явлений, её формализм весьма громоздок, что обернулось потерей понимабельности модели простыми смертными.

Понять хотя бы наполовину, что написано в спецификации Java Memory Model (далее - JMM), получается раза с третьего. Понять, почему записано именно так, по спецификации вообще невозможно, и приходится обращаться к дополнительным источникам, которые пытаются как-то формализм JMM переосмыслить, дополнить, и привести примеры.

В этом докладе мы:

  • попытаемся проследить за логикой построения модели;
  • поговорим о том, каких прагматических результатов модель пыталась добиться;
  • посмотрим, с какими ограничениями злого внешнего мира при этом пришлось столкнуться;
  • увидим, как JMM пытается балансировать между требованиями девелоперов и требованиями разработчиков рантаймов и железа.

Плюс к этому, посмотрим, куда копает и будет копать апдейт JMM в JDK 9.