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

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

Описание

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

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

Модуль 1. Обзор тюнинга производительности [3 ч]
  • Общие практики;
  • Стратегии тюнинга производительности;
  • Метрики производительности;
  • Как повысить производительность?

Модуль 2. Алгоритмы GC. [3 ч]
  • Сборщик мусора G1;
  • ZGC / Shenandoah;
  • Замораживание безопасной точки (safepoint);
  • Клиентский и серверный режим;
  • Флаги GC JVM;
  • Флаги логгирования GC.

Модуль 3. JIT-компилятор HotSpot [2 ч]
  • JIT и AOT компиляция;
  • Слои компиляции;
  • Оптимизация кода;
  • Настройка компилятора;
  • Флаги компилятора JVM.

Модуль 4. Флаги JVM [2 ч]
  • Назначение и категории флагов JVM;
  • Общие флаги;
  • Флаги, связанные со строками;
  • Флаги управления памятью;
  • План тюнинга JVM.

Модуль 5. Профилирование Java [4 ч]
  • Когда и как делать профилирование?;
  • Профилирование с помощью AOP;
  • Использование JProfiler;
  • Использование Java VisualVM;
  • Инструментирование и сэмплирование;
  • Java Flight Recorder;
  • Пользовательское профилирование.

Модуль 6. Тестирование производительности алгоритмов (benchmarking) с помощью JMH [3 ч]
  • Что такое benchmarking;
  • Знакомство с JMH;
  • API JMH;
  • Нетривиальные примеры;
  • Применение JMH на практике.

Модуль 7. Кэширование Java [2 ч]
  • Шаблоны кеширования;
  • Локальное и распределенное кеширование;
  • Сравнение API кешей;
  • Тесты кеширования.

Модуль 8. Мониторинг и настройка памяти [2 ч]
  • Инструменты анализа памяти;
  • Чрезмерный анализ ГХ;
  • Анализ утечек памяти.

Модуль 9. Структуры данных, эффективно использующие память [2 ч]
  • Коллекции вне кучи (off-heap collections);
  • MapDB;
  • Chronicle Map;
  • Буферы прямой записи NIO (direct buffers);
  • Файлы с отображением в память NIO (memory mapped files);
  • Netty ByteBuf.

Модуль 10. Сериализация [2 ч]
  • Сериализаторы JSON (GSON, Jackson);
  • Двоичные сериализаторы (Protobuf, Jackson Smile, Kryo, FST, One NIO).

Модуль 11. GraalVM [2 ч]
  • Экосистема GraalVM;
  • Среда выполнения GraalVM;
  • Polyglot API;
  • Компиляция и родной образ;
  • Контрольные показатели.

Модуль 12. Обзор других подходов к повышению производительности [3 ч]
  • Параллельное программирование (пулы потоков, параллельные потоки, структура fork-join);
  • Реактивное программирование (Reactor, VertX);
  • Облачные вычисления (микросервисы, обмен сообщениями, Apache Spark, AWS Lambda, Google Cloud Functions);
  • Контрольные показатели и выводы.

Цели

После прохождения курса слушатели:

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

Курс содержит всеохватную информацию о том, как сделать программы на Java высокопроизводительными и эффективными.

Целевая аудитория

Разработчики Java, архитекторы Java.

Предварительная подготовка

Уверенное владение Java
После окончания курса выдаётся сертификат на бланке Luxoft Training
Тренер в Онлайн
Дворжецкий Юрий Эксперт в области Java, Java Script, .Net.
Юрий работает в Luxoft с 2011 г..

Разрабатывал высоконагруженные проекты на различных платформах, а также огромные бизнес-порталы с использованием высокоуровневых технологий на платформе от Back-end до Front-end. В отдельных проектах выступал в роли консультанта по настройке и запуску DevOps процессов Continuous Integration и Continuous Delivery процессов. 

С 2005 г. занимается преподавательской деятельностью: 2008–2011 гг. – преподавал курсы по основам программирования в Четверговой математической школе; в 2011–2012 гг. – курсы по программированию в Омском государственном университете им. Ф.М. Достоевского.

Начиная с 2013 г. ведет Java-школу для сотрудников Luxoft и курсы по Java-, .Net-, C++-, JS-технологиям для внешних клиентов Luxoft Training.

Закончил Институт математики и информационных технологий Омского государственного университета. Защитил диссертацию на соискание степени кандидата физико-математических наук.

Имеет только три жизненных принципа: наследование, инкапсуляция и полиформизм.
Влюблен в Java Script, женат на Java.

Проекты:
  • проекты для SITA, DHL, ГЛОНАСС, «Почта России»
  • бизнес-порталы с использованием высокоуровневых технологий на платформе от Back-end до Front-end


Данный курс запланирован в городах: Онлайн
12.07.2021 - 23.07.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 40 ч.
Тренер
Дворжецкий Юрий
Эксперт в области Java, Java Script, .Net.
60 000 руб.
16 800 грн.
В корзину

12.07.2021

12.07.2021 - 23.07.2021
Время: 10:00-14:00
Локация: Онлайн
Длительность: 40 ч.
Тренер
Дворжецкий Юрий
Эксперт в области Java, Java Script, .Net.
60 000 руб.
16 800 грн.
В корзину
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 60 000 руб.
16 800 грн.

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоративное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.