О чём курс

Курс посвящен современным функциональным и реактивным подходам к разработке на Java, повышающем производительность бекэнда, и включает изучение неблокирующего ввода-вывода NIO2, асинхронных промисов CompletableFuture, библиотек реактивного программирования RxJava и Reactor, интерфейса асинхронного доступа к БД R2DBC, потоковый протокол SSE, реактивные репозитории Spring Data reactive, WebClient, протоколы WebSocket и RSocket, а также практические примеры применения.

Цели

  • Познакомить слушателей с современными асинхронным и реактивным программированием.
  • Дать примеры применения.
  • Целевая аудитория

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

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

    Уверенное владение Java, желательно знание Spring.

    Для кого

    Разработчик Разработчик

    Улучшаемые навыки

    Функциональное программирование в Java
    Асинхронное программирование
    Реактивное программирование
    NIO2
    CompletableFuture
    RxJava
    Reactor
    R2DBC
    SSE
    Spring Data reactive
    WebClient
    Reactive WebSocket
    RSocket

    Инструменты

    VS Code VS Code
    Kafka Kafka
    RabbitMQ RabbitMQ
    IntelliJ IDEA IntelliJ IDEA
    Java Java
    NetBeans NetBeans
    Eclipse Eclipse
    Apache Maven Apache Maven
    Spring Boot Spring Boot
    gRPC gRPC

    Расписание курсов

    24.07.2025 - 01.08.2025

    10:00-16:00
    Дата и время:
    24.07.2025-01.08.2025
    10:00-16:00

    Senior 36 часов

    69 900 ₽

    62 910 ₽ — для физ. лиц

    08.09.2025 - 18.09.2025

    10:00-14:00
    Дата и время:
    08.09.2025-18.09.2025
    10:00-14:00

    Senior 36 часов

    69 900 ₽

    62 910 ₽ — для физ. лиц

    Программа курса

    01 Функциональная Java
  • Функциональные интерфейсы
  • Ссылки на метод
  • Потоки данных
  • Map / filter / reduce
  • Агрегационные функции
  • Reduce при параллельной и последовательной обработке
  • Цепочки потребителей
  • Потоковые коллекторы
  • 02 Executor framework. Fork-Join pool
  • Использование Executors
  • Future интерфейс
  • Использование интерфейса Callable
  • Отмена задач
  • ForkJoin Framework
  • Создание пула задач ForkJoin
  • Параллельные потоки в Java 8+
  • ForkJoin vs. параллельные потоки vs. последовательные потоки
  • 03 Неблокирующий ввод-вывод NIO
  • Основные различия между Java NIO и IO
  • Потоково-ориентированный или буферно-ориентированный
  • Блокирующий против неблокирующего ввода-вывода
  • Java NIO Buffer
  • Java NIO Channel
  • Direct буфер
  • Mapped file буфер
  • Java NIO Selector
  • Асинхронный ввод / вывод с NIO
  • Блокировка файла
  • Cервер NIO
  • Архитектура сервера Netty
  • 04 Асинхронная Java (Completable Future)
  • Проблемы синхронного кода
  • NodeJS архитектура
  • Параллельная обработка потока данных
  • CompletableFuture: sync и async методы
  • Объединение (combine), составление (composing) и быстрейший побеждает (quicker wins)
  • Обработка исключений в CompletableFuture
  • Отмена CompletableFuture
  • Использование CompletableFuture для реального потока данных
  • Домашняя работа. Практика (2 часа).
  • 05 Реактивное программирование
  • Что такое реактивность?
  • Основы RxJava: наблюдатель и наблюдаемый (Observable и Observer)
  • Реактивные потоки в Java 9 (Java Reactive Streams)
  • Методы для побочных эффектов (side effects)
  • Обработка ошибок
  • Горячие и холодные потоки (hot/cold)
  • Разделяемые и подключаемые потоки (shared/connectable)
  • Освобождение потоков (disposing)
  • Реактивные операторы (полный каталог)
  • Subjects
  • Распараллеливание потоков (Schedulers)
  • Противодавление (backpressure) и интерфейс Flowable
  • Тестирование реактивных потоков
  • 06 Проект Reactor
  • Операторы Flux / Mono в Reactor
  • Работа с backpressure в Reactor
  • Reactor и многопоточность (Reactor Schedulers)
  • Parallel Flux потоки
  • Оборачивание синхронных вызовов
  • Тестирование Reactor
  • Процессоры (Reactor processors)
  • 07 Spring WebFlux и практическое реактивное программирование
  • Реактивный доступ к БД
  • Реактивные драйверы R2DBC
  • Spring Data - реактивные репозитории
  • Поддержка страниц (paging) в Spring Data reactive
  • WebFlux: функциональные контроллеры
  • Spring REST контроллеры, возвращающие реактивные данные (Mono / Flux)
  • Spring REST контроллеры, возвращающие SSE (server-sent event)
  • WebClient: получение реактивных данных с сервера
  • SSE и протоколы WebSocket
  • Использование WebSocket для передачи / получения данных JSON
  • Использование WebSocket для передачи / извлечения двоичных данных
  • Протокол RSocket
  • Контроллер RSocket на стороне сервера
  • RSocket клиент: обмен JSON и двоичными данными
  • RSocket с балансировкой нагрузки
  • RSocket с взвешенной балансировкой нагрузки
  • Использование реактивных потоков с брокером сообщений (RabbitMQ)
  • Spring Data MongoDB реактивные репозитории
  • Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
  • Архитектура и шаблоны реактивного программирования
  • Домашняя работа. Практика (2 часа).
  • 69 900 ₽

    62 910 ₽ — для физ. лиц

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

    Чему вы научитесь

    01 Применять функциональные интерфейсы и потоки данных в Java
    02 Создавать асинхронные приложения с использованием CompletableFuture
    03 Разрабатывать реактивные приложения с RxJava и Reactor
    04 Использовать R2DBC для реактивного доступа к базам данных
    05 Создавать серверные и клиентские приложения с использованием WebFlux и RSocket
    06 Оптимизировать производительность бекэнда с помощью реактивных подходов

    Курс проводят

    Игорь

    Судакевич Игорь

    Эксперт в области разработки ПО (Java).

    Senior

    Курсы и сертификаты

    69 900 ₽

    62 910 ₽ — для физ. лиц

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

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

    69 900 ₽

    62 910 ₽ — для физ. лиц

    Юр. лицо — 69 900 ₽
    Физ. лицо — 62 910 ₽
    24.07.2025, Онлайн
    24.07.2025, Онлайн
    08.09.2025, Онлайн
    Открытая дата

    Отзывы о курсе

    Повысьте квалификацию И получите диплом
    Отзывы учеников
    Тренинг мне очень понравился, узнал много нового для себя. Самым полезным лично для меня были модули про WebFlux, RxJava и ExecutorService, информация о том, что такое реактивное программирование, дополнительные материалы и практические задания. Комплексная подача материала, видно, как все связано. Думаю, что этот тренинг будет особенно полезен для тех, что хочется углубить свои знания.
    Я изучил новые предметы и получил возможность применять их в упражнениях, предоставленных тренером. У меня была возможность вернуться к некоторым темам Java, о которых я знал, но не работал с ними, поэтому курс лучше изучить теорию и вспомнить, как ее использовать. Было много примеров, все могли задать вопросы.
    Для меня самыми полезными были упражнения, посвященные каждому разделу курса и с большинством из предложенных кейсов я еще ни разу не сталкивался на работе. Понравилось, что нам разрешили сначала самостоятельно попробовать выполнить упражнения, чтобы проверить, не сломаем ли мы их 😊
    Замечательный курс! Преподаватель действительно очень хороший, доходчиво объясняет, отвечает на все вопросы, видно, что очень опытный разработчик в прошлом. Впечатлила его способность объяснять материал разносторонне, четко и доступно. Спасибо ему за это!
    Много интересной информации, полезные примеры кода с пояснениями, хотя некоторые вещи были бы понятнее, будь у меня больше опыта в теме обучения. Преподаватель очень хорошо разбирается в теме, было видно, что он практикующий разработчик. Понравилось, что между тренером и учебной группой наладилась хорошая связь и мы обменивались опытом.
    Полезный курс, который помогает лучше понять Java. Тренер подробно объяснял информацию, приводил примеры и каждое занятие начинал с повторения предыдущего. Это все помогло быстрее запомнить информацию, особенно для тех, кто уже отвык учиться 😊 очень хорошо, что нам присылали презентации и проекты после каждого занятия, чтобы можно было их просмотреть и подготовиться к следующей встречи.

    Связанные курсы

    JVA-076
    40 часов

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

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

    от Senior

    75 500 ₽

    Наши ученики работают в:

    Наши клиенты

    Mail.ru
    Альфа-Банк, банковская группа
    Лаборатория Касперского
    Магнит, розничная сеть
    Спортмастер, сеть спортивных магазинов
    ПСБ
    Сбертех
    Дзен
    IT One
    Ростелеком
    Мегафон
    Nexign
    Ozon
    Декатлон
    X5 Group
    Технониколь
    Росатом
    Газпром
    Нлмк
    ВСК
    Синимекс

    Не нашли, что искали? — Просто напишите, и мы поможем

    Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.