В курсе дана концептуальная основа для понимания процесса сбора мусора в Java, которая применяется к сборщикам мусора в Hotspot JVM, включая и новый сборщик мусора G1.
Слушатели изучат:
Осуществлять мониторинг, профайлинг и тюнинг Java приложений.
Использовать командную строку и визуальные средства для выполнения этих задач.
Выполнять практические упражнения с использованием Visual VM, Java Mission Control, Flight Recorder и NetBeans IDE.
Использовать эти средства и технологии для анализа Java 7 и более ранних JVM.
Эффективно применять такие средства, как Java Mission Control и Flight Recorder в повседневной работе.
Инвестируя в этот курс, Вы приобретете знания о процессе сбора мусора в Java и о том, как он влияет на работу Ваших приложений. Вы научитесь выбирать сборщик мусора, соответствующий требованиям к производительности для Ваших приложений. Вы узнаете также, как использовать новые средства Mission Control and Java Flight Recorder для мониторинга и анализа Ваших приложений.
Необходимая предварительная подготовка:
Developing Applications for the Java EE 6 Platform
Java SE 7 Programming
Java SE 7 Develop Rich Client Applications
Цель курса:
Описание базовых принципов производительности
Описание процесса сбора мусора, основанного на поколениях
Обзор имеющихся в Java сборщиков мусора, включая сборщик G1
Мониторинг производительности на уровне JVM и на уровне приложения
Мониторинг и анализ производительности Java приложения с помощью Java Mission Control and Flight Recorder
Мониторинг производительности операционной системы на Solaris, Linux и Windows
Профайлинг производительности Java приложения
Тюнинг сбора мусора в Java приложении
Применение базовых принципов настройки производительности к Java приложению
Обзор курса
Введение.
Виртуальная машина 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).
Проблемы языкового уровня и “сборка мусора”
Аллокация объекта. Работа с очень большими объектами. Явная “сборка мусора”. Финализаторы. Инструменты поиска утечки памяти. Ссылки на объект.