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

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

Инструменты

VS Code VS Code
IntelliJ IDEA IntelliJ IDEA
Java Java
NetBeans NetBeans
Eclipse Eclipse
Apache Maven Apache Maven

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

01 Изучать основные концепции функционального программирования.
02 Применять лямбда-выражения и методы ссылок для упрощения кода.
03 Использовать Stream API для эффективной обработки коллекций данных.
04 Управлять многопоточностью и параллельным программированием с помощью ExecutorService.
05 Создавать асинхронные задачи с Future и CompletableFuture.
06 Обрабатывать исключения в асинхронном коде и взаимодействовать с внешними системами.
07 Понимать принципы реактивного программирования и их преимущества.
08 Работать с библиотекой Reactor для создания реактивных приложений.
09 Применять операторы для трансформации и фильтрации потоков данных. 
10 Оптимизировать производительность и масштабируемость приложений.

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

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 ₽ — для физ. лиц

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

    Для кого

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

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

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

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

    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 ₽ — для физ. лиц

    06.11.2025 - 14.11.2025

    10:00-16:00
    Дата и время:
    06.11.2025-14.11.2025
    10:00-16:00

    Senior 36 часов

    69 900 ₽

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

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

    Игорь

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

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

    Senior

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

    69 900 ₽

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

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

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

    69 900 ₽

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

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

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

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

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

    Наши клиенты

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

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

    JVA-076
    40 часов

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

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

    от Senior

    75 500 ₽

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

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