Курс на Stepik
Обложка курса «Быстроходная Java: Настройка и мониторинг JVM и приложений» на Stepik
16 000 ₽

Быстроходная Java: Настройка и мониторинг JVM и приложений 0.000

Открыть на
STEPIK.ORG

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

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений»Учеников на курсе 5
Сертификаты, выданные на курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений»Сертификатов выдано 0
Отзывы о курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений»Отзывов получено 0
Рейтинг курса «Быстроходная Java: Настройка и мониторинг JVM и приложений»Рейтинг курса 0.000
Уроки в курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений»Количество уроков 132
Время прохождения курса «Быстроходная Java: Настройка и мониторинг JVM и приложений»Время прохождения курса
Стоимость курса «Быстроходная Java: Настройка и мониторинг JVM и приложений»Стоимость курса 16 000 ₽
Обновления курса «Быстроходная Java: Настройка и мониторинг JVM и приложений»Обновления курса
Дата публикации курса «Быстроходная Java: Настройка и мониторинг JVM и приложений»Дата публикации курса
Последнее обновление курса «Быстроходная Java: Настройка и мониторинг JVM и приложений»Последнее обновление
Сложность hard

Содержание курса

Разделы в курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений» 11 разделов Уроки в курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений» 132 урока Время прохождения курса «Быстроходная Java: Настройка и мониторинг JVM и приложений» 26 ч. Последнее обновление курса «Быстроходная Java: Настройка и мониторинг JVM и приложений» обн. 6 июля 2026

Методология тюнинга и мониторинга

10 уроков
1. Что такое 'performance'
2. Основные понятия
3. Психологические аспекты
4. Теория массового обслуживания
5. Виды тестовых метрик
6. Влияющие факторы
7. Виды тестов
8. Рекомендуемый подход
9. Антипаттерны оптимизации
10. Нагрузочный инструментарий

Сборщики мусора

15 уроков
1. Принципы управления памятью
2. Сборка мусора: фундаментальные концепции
3. Подход к настройке GC
4. Сборщик мусора Serial GC
5. Сборщик мусора Parallel / Throughput GC
6. Сборщик мусора CMS GC
7. Сборщик мусора G1 GC
8. Сборщик мусора Shenandoah GC
9. Сборщик мусора Epsilon GC
10. Сборщик мусора ZGC GC
11. Инструмент jConsole
12. Инструмент VisualVM
13. Инструмент Java Mission Control (JMC)
14. Инструмент jstat
15. Алгоритм подбора сборщика мусора: общие рекомендации

JIT-компиляция в HotSpot JVM

15 уроков
1. Компиляция и интерпретация
2. Подробнее про байт-код
3. Оптимизации фронтального компилятора
4. Самостоятельное упражнение: конкатенация
5. Что стоит за JIT-компиляцией
6. Многоуровневая компиляция
7. Инструмент JIT Watch
8. Встраивания
9. Анализ локальности и скалярная замена
10. Развертывание цикла
11. Внутреннии реализации
12. Спекулятивные оптимизации
13. Java AOT и Graal
14. Обобщение
15. Демо: кто быстрее?

Настроечные флаги JVM

10 уроков
1. Классификация флагов
2. Флаги общего назначения
3. Флаги, относящиеся к строкам
4. Флаги, относящиеся к JIT-компиляции
5. Флаги, относящиеся к сборке мусора
6. Флаги, относящиеся к точкам безопасного состояния
7. Флаги, относящиеся к OutOfMemoryError
8. Флаги, относящиеся к TLAB-буферам
9. Прочие настроечные флаги
10. Рекомендованный порядок настройки

Бенчмаркинг с помощью JMH

18 уроков
1. Что такое "бенчмарк"
2. Категории бенчмарков
3. Первое знакомство с JMH
4. Создание JMH-проекта
5. Комментарии к созданию JMH_проекта
6. Разбор лаб.практикума: задача 01 (Baseline)
7. Задачи 02 (Annotations) и 03 (BenchmarkModes)
8. Задачи 04 (MyBenchmark) и 05 (States)
9. Задача 06 (Forking)
10. Задача 07 (StateFixtures)
11. Задачи 08 (DeadCode) и 09 (Blackhole)
12. Задача 10 (ConsumeCPU)
13. Задача 11 (Params)
14. Задача 12 (OpsPerInvocation)
15. Задача 13 (ConstantFolding)
16. Задача 14 (BatchSize)
17. ДЗ: постановка задачи
18. Подведение итогов обсуждения JMH

Нативная (Off-Heap) память и эффективные структуры данных

11 уроков
1. Сравнение памяти on-heap и off-heap
2. Класс sun.misc.Unsafe, часть 1
3. ФАКУЛЬТАТИВНО: механизм SecurityManager
4. Класс sun.misc.Unsafe, часть 2
5. ФАКУЛЬТАТИВНО: механизм volatile
6. Класс sun.misc.Unsafe, часть 3
7. Практика: эффективные структуры данных, часть 1
8. Практика: эффективные структуры данных, часть 2
9. Foreign Function & Memory API, часть 1
10. ФАКУЛЬТАТИВНО: механизм выравнивания байтов
11. Foreign Function & Memory API, часть 2

Сериализация

15 уроков
1. Что такое "сериализация"
2. Требования к стандартной Java-сериализации
3. Ключевое слово transient
4. Хрупкость стандартной Java-сериализации
5. Метод readObject() с проверкой инварианта
6. GSON
7. Jackson
8. Protobuf
9. Jackson Smile
10. CBOR
11. Kryo
12. FST
13. One-NIO
14. Обзор лабораторного практикума
15. Сравнение бинарных (де)сериализаторов

Профилирование приложений

12 уроков
1. Введение в профилирование
2. Особенности сэмплирования
3. Идея асинхронного профилирования
4. JFR и APM (Application Performance Management)
5. Практикум: обзор вводных лабораторок
6. Практикум: знакомство с async-profiler
7. Практикум: профилировка приложения Small_&_Big
8. Практикум: профил-ка JDBC- и REST-событий с помощью Java Agent
9. Практикум: профилировка на базе AOP
10. Практикум: обзор факультативных лабораторок
11. Практикум: низкоуровневая синхронизация критических секций
12. Практикум: студенческие JFR-записи

Анализ и мониторинг памяти

11 уроков
1. OutOfMemoryError
2. Причины утечек памяти
3. SoftReference: теория
4. SoftReference: демонстрации
5. WeakReference
6. PhantomReference
7. Кэширование и внутреннее состояние
8. Принципы выявления утечек памяти
9. Демо: "подтекающий" HttpUnit
10. Практика: проект memory-leak
11. Практика: KeylessEntry

Кэширование

9 уроков
1. Принципы кэширования
2. HTTP-кэширование
3. Практика: HTTP-кэширование
4. Кэширование результатов вычислений
5. Практика: кэширование в Spring
6. Кэширование при обращении в БД
7. Практика: проект Hibernate-cache
8. Кэширование в ЦП, ОЗУ, I/O
9. Буферизация I/O, мониторинг кэширования

Основы статистического анализа метрик

6 уроков
1. Категории ошибок
2. Интерпретация собранных данных
3. Устойчивые метрики
4. Резервуарная выборка
5. Категории статистик
6. Приложение: Доверительный интервал и его оценка