FARM: Функциональная, асинхронная, реактивная, многопоточная Java

11 участников

О чём курс

Одно блокирующее обращение к базе данных может остановить работу всего потока — здесь показывают, как перевести приложение на асинхронные рельсы, чтобы система обрабатывала тысячи запросов без перегрузки CPU. Курс сфокусирован на переходе от классической императивной модели Java к функциональному и реактивному программированию. Вы освоите инструменты для создания высоконагруженных систем: от глубокой настройки CompletableFuture и работы с неблокирующим вводом-выводом (NIO) до полноценного внедрения библиотек RxJava и Project Reactor в Spring WebFlux. Идеально подойдет Middle-разработчикам, которые хотят перестать писать «застревающий» код и начать строить масштабируемую событийно-ориентированную архитектуру.

Программа обучения

  • Модуль 1: Функциональная Java
    • Лямбда-выражения и встроенные функциональные интерфейсы
    • Примитивные специализации, унарные и бинарные версии
    • Метод map() и его примитивные специализации
    • Короткозамыкающие операторы
    • Применение Optional
    • Фильтрация и обработка данных (stream, flatmap)
    • Сортировка коллекций
    • Сегментирование и классификация (Collectors)
    • Немутирующие редукторы
    • Каррированные функции
    • Динамическая типизация и произвольные лямбда-выражения
    • Ссылки на методы
  • Модуль 2: Асинхронная Java
    • Подмодуль 2.1: CompletableFuture
      • Проблемы блокирующего кода
      • Sync и async методы
      • Combine-, compose- и anyOf-операции
      • Обработка исключений
      • Работа с пользовательскими ExecutorService-пулами
      • Отмена операций
    • Подмодуль 2.2: Неблокирующий ввод/вывод (NIO)
      • NIO vs IO
      • Потоко- и буфер-ориентированный ввод/вывод
      • Блокирующий и неблокирующий режим
      • Buffer, Channel, Selector
      • Direct и non-direct буферы
      • MappedFileBuffer
      • Асинхронный ввод/вывод
      • FileLock
      • Архитектуры Netty и Node.js
  • Модуль 3: Реактивная Java
    • Подмодуль 3.1: RxJava
      • Реактивный манифест
      • Observable и Observer
      • Реактивные потоки Java 9
      • Методы с побочными эффектами
      • Функциональная обработка ошибок
      • «Горячие» и «холодные» паблишеры
      • Расшаренные и connectable-паблишеры
      • Утилизация конвейера (disposing)
      • Реактивные операторы
      • Subjects
      • Schedulers и многопоточность
      • Backpressure и Flowable-паблишеры
      • Тестирование
    • Подмодуль 3.2: Reactor
      • Flux / Mono и их операторы
      • Backpressure в Reactor
      • Поддержка многопоточности
      • Распараллеливание Flux-конвейеров
      • Обертки для синхронных вызовов
      • Reactor-процессоры
      • Тестирование
    • Подмодуль 3.3: Spring WebFlux и практика
Складчина создана 2 июня 2025 г. · описание обновлено 31 августа 2026 г.

Другие материалы автора 4

ИС Игорь Судакевич Все материалы
1 642 ₽ 15 000 ₽