Улучшаемые навыки

JVM Performance
Garbage Collection (GC)
JIT Compilation
Java Memory Management
Benchmarking with JMH
Unsafe API
Memory Optimization
High-Performance Java
Queuing Theory
JVM Configuration Flags

Инструменты

JMeter JMeter
Java Java

Чему вы научитесь

01 Улучшать производительность приложений за счет мониторинга и настройки JVM.
02 Различать и правильно настраивать сборщики мусора под специфические сценарии.
03 Понимать, каким образом и через какие параметры JIT-компиляция влияет на производительность.
04 Работать с флагами JVM и прогнозировать их влияние на поведение приложения.
05 Проводить бенчмаркинг с использованием JMH и интерпретировать получаемые результаты.
06 Использовать эффективные структуры данных и работать с памятью вне кучи (off-heap).
07 Выявлять, анализировать и устранять узкие места производительности.

Программа курса

01 Методологический подход
  • Что стоит за понятием performance?
  • Базовые понятия
  • Психологические аспекты восприятия
  • Теория массового обслуживания (Queuing Theory)
  • Категории тестовых метрик
  • Влияющие факторы
  • Разновидности диагностических тестов
  • Рекомендуемые приемы

  • Практика: CPU cache-lines, избыточное логгирование, JMeter
    02 Сборщики мусора
  • Управление памятью
  • Основы сборки мусора
  • Настройка сборщиков мусора
  • Серийный сборщик мусора
  • Параллельный сборщик мусора
  • Garbage First GC
  • Shenandoah GC
  • ZGC
  • Epsilon GC
  • Сбор метрик СМ
  • Подбор сборщика мусора

  • Практика: переключение с одного GC на другой, JOL-анализ
    03 JIT-компилятор HotSpot
  • Компиляция Java-кода и исполнение программы
  • JIT-компиляция HotSpot
  • Оптимизации
  • Обобщение

  • Практика: работа с javap, работа с JITWatch
    04 Флаги JVM
  • Цели использования и категории флагов JVM
  • Распространенные флаги JVM
  • Флаги JVM, относящиеся к строке
  • Флаги JVM для JIT-компилятора
  • Общие флаги JVM для сборщиков мусора
  • Флаги JVM для журнала процесса сборки мусора
  • Сбор статистики по точкам безопасного состояния
  • Флаги JVM для настройки управления памятью
  • План настройки JVM

  • Практика: анализ размера пула стрингов, TLAB, safepoints
    05 Сопоставительный анализ (бенчмаркинг) Java с помощью JMH
  • Что такое бенчмаркинг?
  • Категории бенчмаркинга
  • Введение в JMH
  • API JMH
  • Рекомендации по работе с JMH
  • Обобщение

  • Практика: применение фреймворка JMH + домашнее задание
    06 Нединамическая память и эффективные структуры данных
  • Класс Unsafe: API низкого уровня
  • Демонстрации
  • Эффективные структуры данных
  • Foreign Function and Memory API

  • Практика: работа с Unsafe, FFMA
    07 Профилирование Java
  • Когда и как профилировать?
  • Сэмплинг и инструментация
  • JVisualVM и профилирования
  • Профилирование со Spring AOP
  • Профилирование в IDEA
  • Java Flight Recorder
  • Анализ JFR-логов с помощью JMC
  • Кастомизация логгирования в JFR
  • Использование Java агентов c JFR
  • Программный анализ логов JFR;
  • Сбор SQL- и REST-запросов в JFR
  • Инструменты управления производительностью приложений

  • Практика: профилирование с JMC/JFR, SpringAOP, JMX Agent
    08 Мониторинг и анализ данных кучи. Утечки памяти
  • Инструменты анализа памяти
  • Симптомы утечек памяти
  • Основные причины утечек памяти
  • Поиск и выявление утечек памяти
  • Мягкие, слабые и фантомн.ссылки
  • Анализа дампов кучи в IDEA
  • async-profiler для анализа памяти
  • JVisualVM и поиск утечек памяти
  • Анализ утечек памяти в JMC/JFR

  • Практика: выявление утечек через дамп кучи, JVisualVM, JMC/JFR
    09 Итого на курс 40 часов: теория – 22 ч ( 55%), практика – 18 ч ( 45%)

    75 500 ₽

    67 950 ₽ — для физ. лиц

    Записаться на курс

    Для кого

    Разработчик Разработчик

    Предварительная подготовка

    Для успешного прохождения курса участникам потребуется:
  • Опыт разработки на Java от 2 лет.
  • Базовое понимание принципов работы JVM.
  • Опыт работы с многопоточностью и знание основных структур данных в Java.
  • Желателен опыт работы с Spring Boot и Spring Data / JPA
  • Расписание курсов

    11.09.2025 - 30.09.2025

    18:00-21:00
    Дата и время:
    11.09.2025-30.09.2025
    18:00-21:00

    Senior 40 часов

    75 500 ₽

    67 950 ₽ — для физ. лиц

    22.09.2025 - 30.09.2025

    10:00-16:00
    Дата и время:
    22.09.2025-30.09.2025
    10:00-16:00

    Senior 40 часов

    75 500 ₽

    67 950 ₽ — для физ. лиц

    01.10.2025 - 10.10.2025

    10:00-15:00
    Дата и время:
    01.10.2025-10.10.2025
    10:00-15:00

    Senior 40 часов

    75 500 ₽

    67 950 ₽ — для физ. лиц

    01.12.2025 - 12.12.2025

    10:00-14:00
    Дата и время:
    01.12.2025-12.12.2025
    10:00-14:00

    Senior 40 часов

    75 500 ₽

    67 950 ₽ — для физ. лиц

    Курс проводят

    В процессе согласования

    75 500 ₽

    67 950 ₽ — для физ. лиц

    Записаться на курс

    Записаться на курс

    75 500 ₽

    67 950 ₽ — для физ. лиц

    Юр. лицо — 75 500 ₽
    Физ. лицо — 67 950 ₽
    11.09.2025, Онлайн
    11.09.2025, Онлайн
    22.09.2025, Онлайн
    01.10.2025, Онлайн
    01.12.2025, Онлайн
    Открытая дата

    Отзывы о курсе

    Повысьте квалификацию И получите диплом
    Отзывы учеников
    Хорошие впечатления. Дан большой объем знаний. Повторение пройденного материала на занятиях полезно. Самое полезное для меня: сравнение GC и советы по настройке JDK. Единственное, хотелось бы добавить дополнительные сравнительные тесты между JIT (C2) и Graal. А так все замечательно!
    Теоретические материалы – отличные. Понравилась демонстрация того, как нужно использовать инструменты для сравнительного анализа, интересные факты о внутренностях jvm и обзор полезных инструментов. Этот тренинг помог мне лучше понять, что нужно делать для устранения проблем с производительностью.
    Тренинг оказался для меня крайне интересным. Все части курса были очень информативны и полезны с точки зрения их дальнейшего использования в профессиональной деятельности.

    Наши ученики работают в:

    Наши клиенты

    Mail.ru
    Альфа-Банк, банковская группа
    Лаборатория Касперского
    Магнит, розничная сеть
    Спортмастер, сеть спортивных магазинов
    ПСБ
    Сбертех
    Дзен
    IT One
    Ростелеком
    Мегафон
    Nexign
    Ozon
    Декатлон
    X5 Group
    Технониколь
    Росатом
    Газпром
    Нлмк
    ВСК
    Синимекс

    Связанные курсы

    JVA-074
    36 часов

    Java Advanced I: функциональное, асинхронное и реактивное программирование

    Погрузитесь в современные парадигмы Java: функциональное, асинхронное и реактивное программирование. Этот курс не только расширит ваше понимание Java, но и научит эффективно использовать современные подходы для создания масштабируемых и производительных приложений. Вы освоите ключевые концепции и инструменты, такие как NIO2, CompletableFurure, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive WebSocket, RSocket, которые помогут вам оставаться на передовой IT-индустрии.

    от Senior

    69 900 ₽

    Не нашли, что искали? — Просто напишите, и мы поможем

    Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.