- RxJava 教程
- RxJava - 首页
- RxJava - 概述
- RxJava - 环境搭建
- 可观察对象 (Observables)
- RxJava - 可观察对象的工作原理
- RxJava - 创建可观察对象
- RxJava - Single 可观察对象
- RxJava - Maybe 可观察对象
- RxJava - Completable 可观察对象
- RxJava - 使用 CompositeDisposable
- 操作符 (Operators)
- RxJava - 创建操作符
- RxJava - 变换操作符
- RxJava - 过滤操作符
- RxJava - 组合操作符
- RxJava - 实用操作符
- RxJava - 条件操作符
- RxJava - 数学操作符
- RxJava - 可连接操作符
- 主题 (Subjects)
- RxJava - 主题
- RxJava - PublishSubject
- RxJava - BehaviorSubject
- RxJava - ReplaySubject
- RxJava - AsyncSubject
- 调度器 (Schedulers)
- RxJava - 调度器
- RxJava - Trampoline 调度器
- RxJava - NewThread 调度器
- RxJava - Computation 调度器
- RxJava - IO 调度器
- RxJava - From 调度器
- 其他
- RxJava - 缓冲
- RxJava - 窗口化
- RxJava 有用资源
- RxJava - 快速指南
- RxJava - 有用资源
- RxJava - 讨论
RxJava - 概述
RxJava 是一个基于 Java 的 ReactiveX 扩展。它提供了 ReactiveX 项目在 Java 中的实现。以下是 RxJava 的主要特点:
扩展了观察者模式。
支持数据/事件序列。
提供操作符以声明方式组合序列。
内部处理线程、同步、线程安全和并发数据结构。
什么是 ReactiveX?
ReactiveX 是一个旨在将响应式编程概念引入各种编程语言的项目。响应式编程是指程序根据数据出现情况做出反应的场景。它是一种基于事件的编程概念,事件可以传播到注册的观察者。
根据 **响应式** 的说法,他们结合了观察者模式、迭代器模式和函数式模式的优点。
正确实现的观察者模式。ReactiveX 结合了观察者模式、迭代器模式和函数式编程的最佳理念。
函数式编程
函数式编程围绕着使用纯函数构建软件展开。纯函数不依赖于先前状态,并且对于相同的参数总是返回相同的结果。纯函数有助于避免与共享对象、可变数据和副作用相关的问题,这些问题在多线程环境中经常出现。
响应式编程
响应式编程指的是事件驱动的编程,其中数据流以异步方式传入,并在到达时进行处理。
函数式响应式编程
RxJava 同时实现了这两个概念,其中数据流随时间变化,而消费者函数相应地做出反应。
响应式宣言
响应式宣言 是一份在线文档,阐述了应用程序软件系统的较高标准。根据该宣言,响应式软件的主要属性如下:
**响应式 (Responsive)** − 应该始终及时响应。
**消息驱动 (Message Driven)** − 组件之间应该使用异步消息传递,以便保持松散耦合。
**弹性 (Elastic)** − 即使在高负载下也应该保持响应。
**弹性 (Resilient)** − 即使任何组件发生故障也应该保持响应。
RxJava 的关键组件
RxJava 有两个关键组件:可观察对象和观察者。
**可观察对象 (Observable)** − 它表示类似于流的对象,可以发出零个或多个数据,可以发送错误消息,其速度可以在发出数据集时进行控制,可以发送有限和无限数据。
**观察者 (Observer)** − 它订阅可观察对象的数据序列并对可观察对象的每个项目做出反应。每当可观察对象发出数据时,观察者都会收到通知。观察者逐个处理数据。
如果项目不存在或未为前一个项目返回回调,则不会通知观察者。