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

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

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

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

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Быстроходная Java: Настройка и мониторинг JVM и приложений»Учеников на курсе 6
Сертификаты, выданные на курсе «Быстроходная 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. Приложение: Доверительный интервал и его оценка ↗