Скрыть объявление

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

Скрыть объявление

На короткое время рассказываем где достать редкие курсы

Подробности ТУТ

Скрыть объявление

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

[IBS] Java Advanced II. Высокопроизводительная Java (Павел Козлов)

Тема в разделе "Курсы по программированию"

Цена:
69900 руб
Взнос:
760 руб
Организатор:
Dr.Vatson

Список участников складчины:

1. Dr.Vatson 2. blendamed 3. sergey_gromov
open
2
Записаться
  1. Dr.Vatson Организатор складчин

    [IBS] Java Advanced II. Высокопроизводительная Java (Павел Козлов)

    [​IMG]

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

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх