• TopKursy - РЕДКИЕ Удаленные КУРСЫ!

    Эксклюзивные материалы, недоступные на других источниках.

    Откройте доступ к уникальным знаниям прямо сейчас!

    Подробнее

Скоро! Java Advanced II: высокопроизводительная Java [IBS]

Статус
В этой теме нельзя размещать новые ответы.
EGround

EGround

Редактор
Сообщения
24.319
Реакции
127

Java Advanced II: высокопроизводительная Java [IBS]​


java1.jpg


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

Спойлер: Разбираемые темы

  • Модуль 1. Обзор тюнинга производительности (теория — 3 ч. + практика — 3 ч.)
    • Общие практики;
    • Стратегии тюнинга производительности;
    • Метрики производительности;
    • Как повысить производительность?
    • Инструменты для измерения производительности;
    • JMeter;
    • Нагрузочное тестирование с помощью JMeter;
    • Как повысить производительность с помощью архитектуры?
    • Повышение производительности с помощью архитектуры: потоки, очереди, микросервисы, облака;
    • Лучшие практики для улучшения производительности кода.

    • Модуль 2. Алгоритмы GC (теория — 6 ч.)
      • Использование памяти Java-объектами;
      • Общие подходы и алгоритмы сборщиков мусора;
      • Сборщик мусора Serial GC;
      • Сборщик мусора Parallel GC;
      • Сборщик мусора CMS;
      • Сборщик мусора G1;
      • Сборщик мусора Shenandoah;
      • Тюнинг сборщиков мусора;
      • Инструменты сбора и анализа метрик о сборке мусора;
      • Выбор оптимального сборщика мусора.
    • Модуль 3. JIT-компилятор HotSpot (практика — 3 ч. + теория — 2 ч.)
      • JIT компиляция;
      • Java байт-код;
      • Многослойная компиляция;
      • Кэш кода и его тюнинг;
      • Оптимизация кода;
      • Деоптимизация кода и когда она происходит;
      • Инструмент JITWatch для анализа результатов компиляции;
      • Виды оптимизаций;
      • Спекулятивные оптимизации;
      • Настройка компилятора;
      • AOT компиляция;
      • GraalVM.
    • Модуль 4. Флаги JVM (теория — 3 ч.)
      • Назначение и категории флагов JVM;
      • Общие флаги;
      • Флаги, связанные со строками;
      • Флаги управления памятью;
      • Safepoints и флаги, связанные с ними;
      • TLAB и флаги, связанные с ними;
      • План тюнинга JVM.
    • Модуль 5. Тестирование производительности алгоритмов (benchmarking) с помощью JMH (практика — 2 ч.)
      • Что такое benchmarking;
      • Знакомство с JMH;
      • API JMH;
      • Нетривиальные примеры;
      • Применение JMH на практике.
      • Домашняя работа (2 ч).
    • Модуль 6. Использование памяти вне кучи (off-heap memory) и эффективные структуры данных (теория — 2 ч. + практика 2 ч.)
      • Что такое sun.misc.Unsafe;
      • Методы Unsafe;
      • Производительность нативной памяти;
      • Создание структур данных в нативной памяти;
      • Оценка производительности нативной памяти и сравнение с памятью в куче;
      • Примитивные коллекции;
      • Денормализация данных;
      • Перспективный Foreign Memory Access API.
    • Модуль 7. Сериализация и сетевая структура (теория — 3 ч.)
      • Сериализаторы JSON (GSON, Jackson);
      • Двоичные сериализаторы (Protobuf, Jackson Smile, Kryo, FST, One NIO);
      • Сравнение производительности различных сериализаторов;
      • Производительность сети при подключении через различные протоколы: HTTP/REST, TCP, Async TCP, RSocket, Netty server/client.
    • Модуль 8. Профилирование Java (теория — 3 ч. + практика — 2 ч.)
      • Когда и как делать профилирование?
      • Сэмплирующие и инструментирующие профайлеры;
      • Использование Java VisualVM для профилирования;
      • Профилирование с помощью Spring AOP;
      • Профилирование с помощью IDEA и async profiler;
      • Java Flight Recorder;
      • Анализ логов Java Flight Recorder с помощью Mission Conrol;
      • Создание и логгирование кастомных событий JFR ;
      • Использование Java агентов для внедрения в код и записи любых событий в Java Flight Recorder;
      • Написание программ для автоматического анализа логов JFR;
      • Сбор и анализ SQL запросов с помощью JFR;
      • Сбор и анализ REST запросов с помощью JFR;
      • Средства управления производительностью приложений;
      • Использование Glowroot для профилирования и анализа SQL-запросов и REST-запросов.
    • Модуль 9. Мониторинг и анализ данных кучи. Утечки памяти (теория — 3 ч.)
      • Инструменты для анализа динамической памяти;
      • Признаки утечек памяти;
      • Основные причины утечек памяти;
      • Поиск и обнаружение утечек памяти;
      • Слабые и фантомные ссылки;
      • Инструменты IDEA для анализа дампов кучи;
      • Асинхронный профайлер для анализа потребления памяти;
      • Использование числа генераций профайлера VisualVM для обнаружения утечек памяти;
      • Использование MissionControl/JFR для автоматического анализа утечек памяти;
      • Анализатор памяти Eclipse – анализ знаменателей и кучи.
    • Модуль 10. Кэширование в приложениях Java (теория — 3 ч.)
      • Шаблоны кеширования;
      • Кеширование HTTP запросов;
      • Конфигурация библиотек кеширования;
      • Популярные библиотеки кэширования: EhCache, Caffeine;
      • Кеширование сервисного уровня;
      • Кеширование Spring сервисов;
      • Буферизация ввода/вывода;
      • Кэш процессора и непрерывная область памяти;
      • Кэширование JPA/Hibernate;
      • Приложения, использующие кэши разных уровней.

Предыдущая часть:


Материал «Java Advanced II: высокопроизводительная Java [IBS]», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу