Java Developer. Advanced
Java под нагрузкой: JVM с профилированием и оптимизацией приложений в облаках
31 марта
Advanced
6 месяцев
Онлайн
Пн/Чт 20:00 Мск
Для кого этот курс?
Действующие Java-разработчики с опытом от 2-х лет, желающие углубить знания в устройстве JVM, принципах профилирования и оптимизации приложений в облачной инфраструктуре.
Необходимые знания
- синтаксис Java, знание, понимание и применение принципов ООП
- знание и опыт работы с Java Collection, maven, Docker
- знание и опыт работы с потоками ввода/вывода (IO) и исполнения (Threads)
- знание и опыт работы с Rest или gRPC или Kafka
- знакомство с Reflection

Что даст вам этот курс?
Вы сможете:
- Обосновать выбор имплементации JVM. Изучить байткод, применить инструмент, меняющий байткод
- Выбрать нужный GC под задачу. Получить дамп памяти
- Анализировать heap работающего приложения. Найти утечку памяти. Ускорить загрузку приложения. Подключить агентов к JVM. Синхронизировать потоки с помощью объектов java.util.concurrent
- Профилировать приложения, искать "горячие" места. Использовать фреймворки на основе неблокирующих IO
- Использовать реактивный подход при обработке данных: Reactor
- Настроить интеграцию приложения с Prometheus. Настроить интеграцию Prometheus & Grafana. Реализовать дашборд в Grafana.
- Деплоить приложения в Kubernetes. Спроектировать модель метрик приложения: что, где и как фиксируем. Проработать модели логирования в сервисе. Обеспечить трассировку запросов
- Спроектировать REST API одного сервиса: набор методов и DTO к ним. Описать сервис с помощью OpenAPI, Swagger. Описать сообщения на Protobuf
- Реализовать проект с несколькими сервисами, развёрнутыми в Kubernetes с демонстрацией модели метрик на дашборде Grafana
- Подать нагрузку на приложения, снять дамп памяти и описать его содержимое
- Запустить профилирование приложения под нагрузкой
Процесс обучения
Вебинары проводятся 2 раза в неделю по 2 ак. часа и сохраняются в записи в личном кабинете. Вы можете посмотреть их в любое удобное для вас время.
В ходе обучения вы будете выполнять домашние задания. Каждое из них посвящено одному из компонентов вашего выпускного проекта.
После выполнения всех домашних заданий вы получите готовый выпускной проект.
Оптимальная нагрузка
Возможность совмещать учебу с работойПортфолио
Индивидуальная разработка итоговой проектной работы Перспективы
Получите знания, которые помогут повысить вашу востребованность и доход
Карьерная поддержка
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
Java developer
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Обратная связь
Домашние задания с поддержкой и обратной связью наших преподавателей помогут освоить изучаемые технологии
Активное комьюнити
Чат в Telegram для общения преподавателей и студентов
Программа
Java Virtual Machine (JVM)
Модуль посвящён углубленному изучению возможностей JVM, разделов памяти, GC, байткода. Также будут изучены модульная система Java, введённая с Java 9 и инструменты, поставляемые в JDK.
Тема 1: Java 11 vs 17 vs 21. OpenJDK vs OracleJDK и другие имплементации
Тема 2: Byte code
Тема 3: Java Instrumentation & Java agent
Тема 4: Memory management. JVM memory structure // ДЗ
Тема 5: Memory management. Разбор алгоритмов GC: SerialGC, ParallelGC, CMS GC // ДЗ
Тема 6: Memory management. Разбор алгоритмов GC: G1, ZGC
Тема 7: Memory dump // ДЗ
Тема 8: Off-heap
Тема 9: GraalVM // ДЗ
Тема 10: Модульная система Java // ДЗ
Тема 11: JDK tools // ДЗ
Тема 12: Сессия Q&A
Многопоточность и производительность
Модуль посвящён углубленному изучению возможностей Java по построению высокопроизводительного кода, возможностям по оптимизации и средствам диагностирования проблем с производительностью.
Тема 1: Разбор библиотеки Java Microbenchmark Harness // ДЗ
Тема 2: Разбор JMeter и организация нагрузочного тестирования // ДЗ
Тема 3: Java.util.concurrent. Atomics, ConcurrentHashMap, ConcurrentSkipListMap
Тема 4: Java.util.concurrent. Locks, ReadWriteLock, ReentrantLock
Тема 5: Java.util.concurrent. CountDownLatch, Semaphore, Phaser
Тема 6: Профилирование java приложений. Thread dump, JFR // ДЗ
Тема 7: Профилирование java приложений. Работа с jvisualvm & asyncProfiler // ДЗ
Тема 8: Java NIO // ДЗ
Тема 9: Реактивное программирование: Reactor // ДЗ
Тема 10: Реактивное программирование: Профилирование приложения на Reactor
Тема 11: Сессия Q&A
Облачные технологии
Модуль посвящён технологиям построения облачных приложений и решению типовых задач, возникающих при реализации микросервисов.
Тема 1: Вспоминаем Docker // ДЗ
Тема 2: Введение в Kubernetes
Тема 3: Обзор Helm // ДЗ
Тема 4: Разбор Actuator'а (Springboot 3)
Тема 5: Метрики
Тема 6: Prometheus & Grafana // ДЗ
Тема 7: Сквозное логирование в микросервисах
Тема 8: Проектирование и архитектура в разрезе микросервисов
Тема 9: Сессия Q&A
Протоколы взаимодействия
Модуль посвящён обзору протоколов взаимодействия, с точки зрения использвания в высоконагруженных приложения: лучшии практики по использованию протоколов при проектировании API и интеграций.
Тема 1: Rest: Swagger, OpenAPI // ДЗ
Тема 2: Protobuf, gRPC // ДЗ
Тема 3: Kafka
Тема 4: Балансировка нагрузки: назначение и конфигурация
Тема 5: Шаблоны проектирования отказоустойчивого сервиса // ДЗ
Тема 6: Выполнение задач по расписанию в Java
Тема 7: Примеры ошибок в коде на Java и как их обнаружить на Code Review
Тема 8: Сессия Q&A
Проектная работа
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Проектная работа
Каждый курс завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что обсудить на собеседовании!
Вы можете выбрать одну из предложенных преподавателем тем или реализовать свою идею.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
О чём поговорим:
- Знакомство со Spring Cloud и принципами микросервисной архитектуры.
- Обзор основных модулей (Service Discovery, Config Server, Gateway).
- Практические приёмы интеграции с облачными платформами и управления конфигурациями.
Кому будет интересно:
Java-разработчикам, DevOps-инженерам и всем, кто создаёт микросервисные решения в облачной среде.
В результате урока вы получите:
- Понимание, как и когда использовать Spring Cloud при проектировании микросервисов.
- Навыки работы с Service Discovery, API Gateway и Config Server для распределённых настроек.
- Способность реализовывать ключевые паттерны микросервисной архитектуры с помощью Spring Cloud.
О чём поговорим:
- Ключевые механизмы синхронизации в Java (synchronized, ReentrantLock и другие).
- Особенности их применения в многопоточном коде и влияние на производительность.
- Настройка и проведение бенчмарков JMH для объективного сравнения различных подходов.
Кому будет интересно:
Java-разработчикам, инженерам по производительности и любителям многопоточности, желающим оценить скорость и надёжность разных механизмов.
В результате урока вы получите:
- Навык реализации JMH-бенчмарков для сравнения различных инструментов синхронизации.
- Понимание разницы в скорости работы механизмов и уверенность в выборе оптимального решения.
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 3 дня
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Подтверждение знаний и навыков
OTUS осуществляет лицензированную образовательную деятельность.
Вы получите сертификат о прохождении обучения, а также можете получить удостоверение о повышении квалификации.

После обучения вы:
-
Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект и готовы предоставить копию документа о высшем или среднем профессиональном образовании
-
Доступ к учебным материалам курса
-
Ваш личный проект, который поможет проходить собеседования
Java Developer. Advanced
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно