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

Расчленяя многопоточность

Все абстракции рано или поздно протекают, какими бы красивыми и стройными они ни были. Протекают и те, что скрывают за громкой фразой «Write Once, Run Anywhere» особенности исполнения многопоточного кода на реальном железе.

И горе после такой протечки тому, кто не понимает, как всё устроено под капотом. Частенько для того, чтобы разобраться в каком-то поверхностном явлении, приходится разрывать все любезно накрученные слои абстракции. Понимать Модель Памяти Java - важно, но этого мало. Нужно ещё и знать, как эта модель устроена, и понимать, почему именно так. А для этого нужно идти глубже!

Доклад будет состоять из краткого теоретического описания происходящего, а затем решительно перейдёт к расчленению OpenJDK в режиме живого демо. Мы рассмотрим, как реализованы volatile переменные и synchronized блоки, узнаем, что же такое мембар и почему все так любят x86, и напоследок жестоко надругаемся над HotSpot!

Информация о встрече

Лекции курса

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