Java. Продвинутый уровень: функциональное, асинхронное и реактивное программирование + практика с ИИ
Как устроено обучение
Подробнее
Что нужно для старта
- Уверенное владение Java, желательно знание Spring.
Что вы получите
- Изучать основные концепции функционального программирования.
- Применять лямбда-выражения и методы ссылок для упрощения кода.
- Использовать Stream API для эффективной обработки коллекций данных.
- Управлять многопоточностью и параллельным программированием с помощью ExecutorService.
- Создавать асинхронные задачи с Future и CompletableFuture.
- Обрабатывать исключения в асинхронном коде и взаимодействовать с внешними системами.
- Понимать принципы реактивного программирования и их преимущества.
- Работать с библиотекой Reactor для создания реактивных приложений.
- Применять операторы для трансформации и фильтрации потоков данных.
- Оптимизировать производительность и масштабируемость приложений.
- Использовать ИИ для повышения своей эффективности
Для кого этот курс
- Разработчик
Программа курса
• Функциональные интерфейсы
• Ссылки на метод
• Потоки данных
• Map / filter / reduce
• Агрегационные функции
• Reduce при параллельной и последовательной обработке
• Цепочки потребителей
• Потоковые коллекторы
• Домашняя работа. Практика
• Использование Executors
• Future интерфейс
• Использование интерфейса Callable
• Отмена задач
• ForkJoin Framework
• Создание пула задач ForkJoin
• Параллельные потоки в Java 8+
• ForkJoin vs. параллельные потоки vs. последовательные потоки
• Основные различия между Java NIO и IO
• Потоково-ориентированный или буферно-ориентированный
• Блокирующий против неблокирующего ввода-вывода
• Java NIO Buffer
• Java NIO Channel
• Direct буфер
• Mapped file буфер
• Java NIO Selector
• Асинхронный ввод / вывод с NIO
• Блокировка файла
• Cервер NIO
• Архитектура сервера Netty
• Домашняя работа. Практика
• Проблемы синхронного кода
• Пример: NodeJS архитектура
• Параллельная обработка потока данных
• CompletableFuture: sync и async методы
• Объединение (combine), составление (composing) и быстрейший побеждает (quicker wins)
• Обработка исключений в CompletableFuture
• Отмена CompletableFuture
• Использование CompletableFuture для реального потока данных
• Домашняя работа. Практика
• Что такое реактивность?
• Основы RxJava: наблюдатель и наблюдаемый (Observable и Observer)
• Реактивные потоки в Java 9 (Java Reactive Streams)
• Методы для побочных эффектов (side effects)
• Обработка ошибок
• Горячие и холодные потоки (hot/cold)
• Разделяемые и подключаемые потоки (shared/connectable)
• Утилизация потоков (disposing)
• Реактивные операторы (полный каталог)
• Subjects
• Распараллеливание потоков (Schedulers)
• Противодавление (backpressure) и класс Flowable
• Тестирование реактивных потоков
• Операторы Flux / Mono в Reactor
• Работа с backpressure в Reactor
• Reactor и многопоточность (Reactor Schedulers)
• Parallel Flux потоки
• Оборачивание синхронных вызовов
• Тестирование Reactor
• Процессоры (Reactor processors)
• Реактивный доступ к БД
• Реактивный драйвер 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 против WebMVC
• Архитектура, рекоменд.практика и шаблоны реакт.программирования
• Домашняя работа. Практика
• Kafka
• RabbitMQ
• gRPC
01Функциональная Java
• Функциональные интерфейсы
• Ссылки на метод
• Потоки данных
• Map / filter / reduce
• Агрегационные функции
• Reduce при параллельной и последовательной обработке
• Цепочки потребителей
• Потоковые коллекторы
• Домашняя работа. Практика
02Executor 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 для реального потока данных
• Домашняя работа. Практика
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)
07Spring 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 против WebMVC
• Архитектура, рекоменд.практика и шаблоны реакт.программирования
• Домашняя работа. Практика
08Реактивные стримы в других технологиях
• Kafka
• RabbitMQ
• gRPC
Удостоверение о прохождении
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Java. Продвинутый уровень: функциональное, асинхронное и реактивное программирование + практика с ИИ» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 24 августа 2026 г.

IBS Training Center 



![Основы программирования на языке "Java" для школьников. Модуль 2 [c]](/img/course_default/course_defaukt_0.jpg)








