ЛекториумМедиатека
Личный кабинет

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

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

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

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

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

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

Лекции курса

13
  1. Spring-потрошитель. Часть 1Евгений Борисов
  2. Spring-потрошитель. Часть 2Евгений Борисов
  3. Stream API. Часть 1Сергей Куксенко
  4. Stream API. Часть 2Сергей Куксенко
  5. Прагматика Java Memory Model▶ Вы тут
  6. Расчленяя многопоточностьГлеб Смирнов
  7. Анализ аварийных дампов JVM. Часть 1Андрей Паньгин
  8. Анализ аварийных дампов JVM. Часть 2Андрей Паньгин
  9. Блеск и нищета распределённых кэшейАлексей Рагозин
  10. Опасные типы, или Java Security Model на практикеМихаил Дударев
  11. 1. Загрузчики классов в Java: коллекция граблейАнтон Архипов
  12. 2. Java-агенты, Instrumentation API и JavassistАнтон Архипов
Показать все 13 лекций
  1. За гранью возможного (Keynote)Олег Анастасьев

Онлайн-курсы по программированию

3