Открыто

Java Advanced II: высокопроизводительная Java (часть 2) [IBS] [Павел Козлов, Михаил Соколов]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 16 май 2024.

Основной список: 33 участников

Резервный список: 5 участников

  1. 16 май 2024
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Java Advanced II: высокопроизводительная Java (часть 2) [IBS] [Павел Козлов, Михаил Соколов]

    java1.jpg

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

    Цели: познакомить слушателей с современными подходами к повышению производительности Java приложений.
    Целевая аудитория: разработчики Java, архитекторы Java.
    Предварительная подготовка: уверенное владение Java.

    Модуль 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;
    • Приложения, использующие кэши разных уровней.

    Цена 69900 руб
    Скрытая ссылка

    Предыдущая часть: часть 1
     
    Последнее редактирование модератором: 21 май 2024
    1 человеку нравится это.
  2. Последние события

    1. Gepatd0000
      Gepatd0000 участвует.
      27 авг 2025
    2. RomanKiev555
      RomanKiev555 не участвует.
      5 авг 2025
    3. Petr152
      Petr152 не участвует.
      27 июл 2025
    4. Gepatd0000
      Gepatd0000 не участвует.
      15 июл 2025

    Последние важные события

    1. skladchik.com
      Нужен организатор складчины.
      17 окт 2024
    2. skladchik.com
      Цена составляет 62910р.
      25 май 2024
    3. skladchik.com
      Назначен организатор.
      16 май 2024
  3. Обсуждение
  4. 26 янв 2025
    #2
    SQLDeveloper
    SQLDeveloper СкладчикСкладчик
    А эта тема уже мертвая?