Java Advanced II: высокопроизводительная Java (часть 2)

22 участника

О чём курс

Павел Козлов и Михаил Соколов из компании IBS разбирают методы глубокой оптимизации Java-приложений, тонкую настройку виртуальной машины JVM и инструменты поиска узких мест в коде.

О курсе

Материал знакомит с инженерными подходами к повышению производительности Java-приложений на уровне исходного кода, системной архитектуры и среды исполнения. Преподаватели подробно рассматривают внутреннее устройство HotSpot, механизмы управления памятью и способы профилирования высоконагруженных систем.

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

Кому подойдёт

  • Разработчикам на Java, стремящимся оптимизировать код и системные ресурсы на уровне JVM.
  • Архитекторам Java, проектирующим отказоустойчивые и масштабируемые сервисы с высокой пропускной способностью.

Для успешного освоения программы требуется уверенное владение языком Java.

Темы программы

Материал разбит на десять содержательных блоков, охватывающих полный цикл работы с производительностью:

  • Стратегии оптимизации и нагрузочное тестирование с применением инструмента JMeter, архитектурные решения с использованием потоков, очередей и микросервисов.
  • Алгоритмы и тюнинг сборщиков мусора: разбор поведения Serial GC, Parallel GC, CMS, G1 и Shenandoah, а также сбор метрик и критерии выбора оптимального GC.
  • Особенности JIT-компилятора HotSpot: многослойная компиляция, анализ байт-кода, оптимизация и деоптимизация кода через JITWatch, технологии AOT и возможности GraalVM.
  • Категории флагов виртуальной машины JVM: управление памятью, safepoints, буферами TLAB и строками.
  • Микробенчмаркинг алгоритмов с помощью фреймворка JMH и разбор нетривиальных сценариев тестирования.
  • Работа с памятью вне кучи (off-heap) через методы sun.misc.Unsafe, создание нативных структур данных, примитивные коллекции и Foreign Memory Access API.
  • Скорость сериализации данных: сравнительный анализ JSON-библиотек (GSON, Jackson) и двоичных форматов (Protobuf, Kryo, FST), замеры сетевой производительности протоколов HTTP, TCP, RSocket и Netty.
  • Практическое профилирование: использование async-profiler, Java VisualVM, Java Flight Recorder (JFR), JDK Mission Control и Glowroot для отслеживания вызовов, SQL-запросов и REST-точек.
  • Диагностика кучи и утечек памяти: работа со слабыми и фантомными ссылками, исследование дампов в IntelliJ IDEA, VisualVM и Eclipse Memory Analyzer.
  • Кэширование данных: применение Caffeine и EhCache, настройка уровней кэширования для HTTP, сервисов Spring, JPA и Hibernate, учёт процессорного кэша.

Формат

Программа рассчитана на 42 академических часа, распределённых между теоретическими лекциями и практическими работами. Слушатели проводят нагрузочные тесты, исследуют дампы памяти, профилируют сетевые компоненты и выполняют домашнее задание по бенчмаркингу.

Программа обучения

  • Профилирование и поиск узких мест
  • Тюнинг JVM и флаги
  • Сериализация и кеширование
  • Хранение данных вне кучи
  • Бенчмаркинг и мониторинг
  • Управление памятью
Складчина создана 16 мая 2024 г. · описание обновлено 25 октября 2026 г.

Другие материалы автора 5

ПК Павел Козлов Все материалы
3 362 ₽ 62 910 ₽