Java Advanced II: высокопроизводительная Java (часть 2)
О чём курс
Павел Козлов и Михаил Соколов из компании 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 и флаги
- Сериализация и кеширование
- Хранение данных вне кучи
- Бенчмаркинг и мониторинг
- Управление памятью
Другие материалы автора 5
ПК Павел Козлов Все материалыОтзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.