Открыто

Luxoft training Java Advanced II: высокопроизводительная Java

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

Цена: 60000р.-91%
Взнос: 5051р.

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

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

  1. 16 окт 2021
    #1
    larry-troy91
    larry-troy91 ДолжникДолжник

    Складчина: Luxoft training Java Advanced II: высокопроизводительная Java

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

    Автор: Сонькин Владимир - Эксперт в области разработки ПО: Java и Web-технологии

    Разбираемые темы

    Модуль 1. Обзор тюнинга производительности
    – 5 ч.
    • Общие практики;
    • Стратегии тюнинга производительности;
    • Метрики производительности;
    • Как повысить производительность?
    • Инструменты для измерения производительности;
    • JMeter;
    • Нагрузочное тестирование с помощью JMeter;
    • Как повысить производительность с помощью архитектуры?
    • Лучшие практики для улучшения производительности кода.
    Домашняя работа – 2 ч.

    Модуль 2. Алгоритмы GC – 5 ч.
    • Использование памяти Java-объектами;
    • Общие подходы и алгоритмы сборщиков мусора;
    • Сборщик мусора Serial GC;
    • Сборщик мусора Parallel GC;
    • Сборщик мусора CMS;
    • Сборщик мусора G1;
    • Сборщик мусора Shenandoah;
    • Тюнинг сборщиков мусора;
    • Инструменты сбора и анализа метрик о сборке мусора;
    • Выбор оптимального сборщика мусора.
    Модуль 3. JIT-компилятор HotSpot – 5 ч.
    • JIT компиляция;
    • Java байт-код;
    • Многослойная компиляция;
    • Кэш кода и его тюнинг;
    • Оптимизация кода;
    • Деоптимизация кода и когда она происходит;
    • Инструмент JITWatch для анализа результатов компиляции;
    • Виды оптимизаций;
    • Спекулятивные оптимизации;
    • Настройка компилятора;
    • AOT компиляция.
    Домашняя работа – 2 ч.

    Модуль 4. Флаги JVM – 3 ч.
    • Назначение и категории флагов JVM;
    • Общие флаги;
    • Флаги, связанные со строками;
    • Флаги управления памятью;
    • Safepoints и флаги, связанные с ними;
    • TLAB и флаги, связанные с ними;
    • План тюнинга JVM.
    Модуль 5. Тестирование производительности алгоритмов (benchmarking) с помощью JMH – 2 ч.
    • Что такое benchmarking;
    • Знакомство с JMH;
    • API JMH;
    • Нетривиальные примеры;
    • Применение JMH на практике.
    Домашняя работа – 2 ч.

    Модуль 6. Использование памяти вне кучи (off-heap memory) – 3 ч.
    • Что такое sun.misc.Unsafe;
    • Методы Unsafe;
    • Производительность нативной памяти;
    • Создание структур данных в нативной памяти;
    • Оценка производительности нативной памяти и сравнение с памятью в куче;
    • Перспективный Foreign Memory Access API.
    Модуль 7. Сериализация – 2 ч.
    • Сериализаторы JSON (GSON, Jackson);
    • Двоичные сериализаторы (Protobuf, Jackson Smile, Kryo, FST, One NIO);
    • Сравнение производительности различных сериализаторов.
    Модуль 8. Профилирование Java – 4 ч.
    • Когда и как делать профилирование?
    • Сэмплирующие и инструментирующие профайлеры;
    • Использование 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.
    Домашняя работа – 2 ч.

    Модуль 9. Мониторинг и анализ данных кучи. Утечки памяти
    – 2 ч.
    • Инструменты для анализа данных в памяти;
    • Признаки утечек памяти;
    • Основные причины утечек памяти;
    • Поиск и обнаружение утечек памяти.
    Модуль 10. GraalVM – 3 ч.
    • Экосистема GraalVM;
    • Среда выполнения GraalVM;
    • Polyglot API;
    • Компиляция и родной образ;
    • Контрольные показатели.
    Модуль 11. Кэширование в приложениях Java – 3 ч.
    • Шаблоны кеширования;
    • Сравнение API кешей;
    • Кеширование запросов БД;
    • Кеширование HTTP запросов;
    • Основные метрики и настройки библиотек кеширования;
    • Сравнение популярных библиотек кеширования;
    • Кеширование сервисного уровня;
    • Кеширование Spring сервисов;
    • Приложения, использующие кеши разных уровней.
    Модуль 12. Обзор других подходов к повышению производительности – 3 ч.
    • Параллельное программирование (пулы потоков, параллельные потоки, структура fork-join);
    • Асинхронное программирование;
    • Реактивное программирование (Reactor, VertX);
    • Оптимизация работы с базами данных;
    • Облачные вычисления (микросервисы, Spring Cloud);
    • Контрольные показатели и выводы.
    Скрытая ссылка
     
    Последнее редактирование модератором: 16 окт 2021
    2 пользователям это понравилось.
  2. Последние события

    1. Orlando
      Orlando не участвует.
      5 окт 2024
    2. Remonis
      Remonis участвует.
      28 июл 2024
    3. serg212121
      serg212121 участвует.
      7 апр 2024
    4. Hunss
      Hunss не участвует.
      3 фев 2024

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

    1. skladchik.com
      Нужен организатор складчины.
      29 окт 2021
    2. skladchik.com
      Назначен организатор.
      18 окт 2021