Многопоточность в JVM, проблемы и их диагностика
О чём курс
Многопоточность является фундаментальной основой платформы Java с самого первого дня её существования. JVM предоставляет разработчикам невероятно богатый арсенал средств для координации потоков и реализации параллельного выполнения задач, что по праву считается одной из самых сильных сторон экосистемы. Однако многопоточная природа приложений — это палка о двух концах: она открывает возможности для высокой производительности, но одновременно становится источником специфических и трудноуловимых проблем, таких как «гонки потоков» (race conditions) или «клинчи» (deadlocks). Часто бывает так, что даже при наличии мощного оборудования разработчики не могут получить максимальный эффект от параллельной обработки из-за неэффективных механизмов координации потоков, которые используются в алгоритме явно или неявно. Данный учебный модуль сфокусирован на практическом освоении инструментов, которые позволяют диагностировать и устранять подобные узкие места.
Ценность этого курса заключается в глубоком погружении в прикладные аспекты многопоточности. В современной разработке навыки написания многопоточной логики и анализа взаимодействия между потоками стали узкоспециализированными. Современные фреймворки и библиотеки часто скрывают детали реализации многопоточности «под капотом», из-за чего прикладные разработчики могут терять контроль над тем, как именно выполняется их код. Тем не менее, общепринятые практики написания качественного кода всегда включают аспекты «потокобезопасности», понимание которых критически важно для создания стабильных систем. Автор курса обладает многолетним опытом проектирования, реализации и анализа многопоточных систем самого разного уровня сложности — от алгоритмов распараллеливания обработки больших данных до тонкой оптимизации времени отклика высоконагруженных торговых систем.
Этот курс будет крайне полезен тем, кто стремится углубить свою экспертизу в области многопоточности JVM и перейти от теоретических знаний к уверенной практике анализа и диагностики проблем. Основной фокус обучения сделан на использовании общедоступных инструментов, которые позволяют «заглянуть внутрь» работающего приложения. В процессе обучения слушатели получат фундаментальные знания об организации потоков в JVM, научатся работать с дампами потоков (thread dumps) и освоят методы анализа межпоточной координации с помощью мощного инструментария Java Flight Recorder (JFR). Курс ориентирован на Java-разработчиков, архитекторов, Big Data инженеров и инженеров по производительности, которые хотят научиться эффективно выявлять и устранять проблемы параллелизма, обеспечивая максимальную стабильность и скорость работы своих приложений.
Программа обучения
- Потоки в JVM, их жизненный цикл и связь с потоками операционной системы
- "Клинчи" (deadlocks), их предпосылки и симптоматика, анализ дампов потоков для выявления взаимных блокировок
- События Java Flight Recorder (JFR) связанные с блокировками, анализ эффективности межпоточной координации
Теги курса
Другие материалы автора 2
АР Алексей Рагозин Все материалыОтзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.