Ответ
RxJava — это реализация ReactiveX для Java, позволяющая работать с асинхронными событиями и потоками данных в реактивном стиле. Основные компоненты:
- Observable — источник данных (поток событий).
- Observer — подписчик, обрабатывающий данные.
- Operators (map, filter, flatMap) — преобразуют, фильтруют или комбинируют потоки.
- Schedulers — управляют потоками выполнения (IO, computation, mainThread).
Пример:
Observable.just("Hello", "World")
.map(String::toUpperCase)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(System.out::println);
Плюсы: упрощение асинхронных операций, композиция потоков, обработка ошибок. Минусы: кривая обучения, избыточность для простых задач.