Эффективное профилирование Java приложений

Данный курс ставит перед собой следующие задачи: - предоставить аудитории методику эффективного применения инструментов профилирования в контексте решения практических задач; - продемонстрировать работу с бесплатными профайлерами, идущими в комплекте с JDK Visual VM, Java Flight Recorder и другими инструментами; - закрепить знания практической работой со специально подготовленными примерами проблемного кода. Курс включает лекционные блоки и практические упражнения, которые чередуются по мере изложения материала.

ИТ и интернет 18+

Ценность курса

На практике, задачи требующие применения профайлера встречаются не часто. По этой причине у разработчиков обычно нет возможности научиться эффективно владеть этим инструментом на собственном опыте.

С другой стороны, эффективное использование профайлера в критической ситуации может драматически сократить время решения проблемы (от недель и месяцев до считанных дней).

Данный учебный курс даёт разработчику ключевые знания и навыки для эффективного применения профайлера в своей работе.

Курс так же может быть полезен для специалистов в области больших данных (Big Data).

Предполагаемая аудитория

Разработчики / архитекторы Java (всех уровней подготовки), Big Data инженеры, SRE (Site Reliability Engineer).

Список ПО для практической части

Для работы с упражнениями участникам курса необходим компьютер.

Следующее ПО должно быть установлено у участников тренинга.

  • комплект разработки Java (JDK) от Oracle — версия не ниже 8u144
  • Apache Maven — версия не ниже 3.0.5
  • git клиент
  • любая интегрированная среда разработки Java

Может быть использована любая операционная система.

О тренере

Алексей Рагозин — автор курса и тренер, имеет более 10 лет опыта в области разработки высоко нагруженных распределенных систем в различных индустриях. Алексей активный докладчик на российских и зарубежных конференциях в области ПО и контрибьютор в OpenSource.


 

План учебного курса

Курс организован в виде 8 академических пар (90 минут):

Секция 1

Введение. Подход к анализу проблемы сверху вниз. Классификация типовых проблем и дерево принятия решений. Базовая диагностика проблемного приложения с использованием инструментов JDK.

Секция 2

Поиск "горячего кода" методом сэмплирования дампов потоков. Работа с VisualVM. Визуализация результатов сэмплирования: дерево вызовов, инвертированное дерево вызовов, flame graph.

Секция 3

Сброка мусора и его влияние на производительность. Анализ логов сборки мусора. События сборки мусора в Mission Control / Java Flight Recorder. Критерии нормальной работы сборщика мусора.

Секция 4

Анализ содержимого памяти JVM. Использование гистограмм классов для анализа статической и динамической нагрузки на память. Получение дампа памяти JVM и работа с ним. Использование языка запрос OQL для анализа дампов.

Секция 5

Углублённая работа с Java Flight Recorder. Семплирование аллокаций памяти и другие возможности инструмента.

Секция 6

Закрепление темы сэмплирования дампов потоков. Демонстрация смещения оценки характерной для сэмплирования.

Секция 7

Использование трассировки при поиске узких мест. Трассировка с использование Visual VM. Трассировка с помощью BTrace. Анализ проблем многопоточности. Демонстрация различных вариантов межпоточных блокировок (deadlocks) и методы их обнаружения.

Секция 8

Заключительная лекция. Особенности коммуникации промежуточных результатов анализа для нетехнической аудитории. Комбинирование профилирования и других способов исследования.

Поделиться:

1987 дней назад
23 октября 9:00 — 24 октября 2019 19:00

Санкт-Петербург
Санкт-Петербург, 9-я линия Васильевского острова, д. 34, БЦ Магнус, офис 303. Для входа Вам потребуется документ, удостоверяющий личность, и получить пропуск на ресепшене на 1 этаже.
Показать на карте

Уже есть билет
Восстановить или вернуть

Поделиться:

Связь с организатором

Напоминаем, что для того чтобы восстановить билет или сделать возврат организатору можно не писать.

На этот адрес придёт ответ от организатора.

По номеру с вами свяжется организатор

Подпишитесь на рассылку организатора

Восстановление билета

Введите адрес электронной почты, указанный при регистрации на событие

Обращаем внимание на то, что билеты должны были прийти к вам на почту сразу после покупки.

Возврат билета

Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.

Подробнее о возврате билетов