Скачать Java Advanced I: функциональное, асинхронное и реактивное программирование [IBS]

Kevin

VIP складчик
Platinum
Администратор
Регистрация
8 Сен 2016
Сообщения
483.986
Реакции
268.180
**Java Advanced I: функциональное, асинхронное и реактивное программирование [IBS]**

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

**Спойлер: Разбираемые темы**

**Модуль 1. Функциональная Java (теория - 2 ч. + практика 1 ч.)**
- Функциональные интерфейсы
- Ссылки на метод
- Потоки данных
- Map / filter / reduce
- Агрегационные функции
- Цепочки потребителей
- Потоковые коллекторы

**Модуль 2. Executor framework. Fork-Join pool (теория - 3 ч.)**
- Executors
- Future интерфейс
- Callable интерфейс
- Отмена задач
- ForkJoin Framework
- Параллельные потоки в Java 8+
- Сравнение ForkJoin, параллельных и последовательных потоков

**Модуль 3. Неблокирующий ввод-вывод NIO (теория - 3 ч. + практика - 2 ч.)**
- Основные различия между Java NIO и IO
- Java NIO Buffer и Channel
- Direct буфер и Mapped file буфер
- Java NIO Selector
- Асинхронный ввод / вывод с NIO
- Сервер Netty

**Модуль 4. Асинхронная Java (CompletableFuture) (теория - 3 ч. + практика - 2 ч.)**
- Проблемы с синхронным кодом
- Объединение, составление и обработка исключений в CompletableFuture
- Отмена CompletableFuture
- Использование CompletableFuture для реального потока данных

**Домашняя работа. Практика (2 часа).**

**Модуль 5. Реактивное программирование (теория - 8 ч.)**
- Основы RxJava
- Обработка ошибок и потоки Java Reactive Streams
- Различие между горячими и холодными потоками
- Освобождение потоков и реактивные операторы
- Противодействие (backpressure) и интерфейс Flowable

**Модуль 6. Проект Reactor (теория - 4 ч.)**
- Операторы Flux / Mono в Reactor
- Работа с backpressure и многопоточность
- Тестирование Reactor

**Модуль 7. Spring WebFlux и практическое реактивное программирование (теория - 6 ч. + практика - 2 ч.)**
- Реактивный доступ к БД и драйверы R2DBC
- Реактивные репозитории Spring Data
- WebFlux и WebClient
- Протоколы WebSocket и RSocket
- Использование реактивных потоков с брокером сообщений
- Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
- Архитектура реактивного программирования

**Продолжение: часть 2**
 
Сверху