Мониторинг выполнения и оптимизация приложений Java (JMO)

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

Введение.

Виртуальная машина Java (JVM), вопросы производительности. Обзор.
Обзор JVM. Что такое производительность? Методология оценки производительности.

JVM и “сборка мусора” (Java Garbage Collection)
Сборка мусора в виртуальной машине HotSpot. Процесс сборки мусора. Сборщик мусора Garbage-First (G1).

“Сборщики мусора” Java (Java Garbage Collectors)
Алгоритмы сборки мусора. Виды “сборщиков мусора”. Эргономика JVM.

Мониторинг JVM с помощью командной строки
Опции мониторинга “сборщика мусора”. Опции мониторинга JIT-компилятора.

Mission Control и средства мониторинга JVM
Мониторинг с помощью VisualVM. Мониторинг с помощью Mission Control.

Java Flight Recorder
Поиск и анализ узких мест с помощью Flight Recorder.

Мониторинг производительности операционной системы
Мониторинг использования ЦПУ. Мониторинг использования памяти. Мониторинг сети. Мониторинг диска. Мониторинг процессов. Инструменты профилирования
Обзор инструментов профилирования. Профилирование ЦПУ. Профилирование Heap-памяти.

Решение проблем производительности путем профайлинга
Поиск утечек памяти и блокировок.

Настройка “сборщика мусора”
Настройка последовательного (serial) сборщика мусора. Настройка параллельного (parallel) сборщика мусора. Настройка конкурентного (concurrent) сборщика мусора. Настройка сборщика мусора Garbage-First (G1).

Проблемы языкового уровня и “сборка мусора”
Аллокация объекта. Работа с очень большими объектами. Явная “сборка мусора”. Финализаторы. Инструменты поиска утечки памяти. Ссылки на объект.