📅  最后修改于: 2020-11-12 05:25:54             🧑  作者: Mango
RxJava是ReactiveX的基于Java的扩展。它提供Java的实现或ReactiveX项目。以下是RxJava的主要特征。
扩展观察者模式。
支持数据/事件序列。
提供运算符以声明的方式将序列组合在一起。
在内部处理线程,同步,线程安全和并发数据结构。
ReactiveX是一个旨在为各种编程语言提供反应式编程概念的项目。响应式编程是指程序在数据出现时做出反应的场景。这是基于事件的编程概念,事件可以传播到寄存器观察者。
根据Reactive ,他们结合了Observer模式,Iterator模式和功能模式的最佳组合。
观察者模式正确完成。 ReactiveX是Observer模式,Iterator模式和函数式编程的最佳创意的结合。
功能编程围绕使用纯功能来构建软件。纯函数不依赖于先前的状态,并且对于传递的相同参数始终返回相同的结果。纯函数有助于避免与共享对象,可变数据和副作用相关的问题,这些问题通常在多线程环境中普遍存在。
反应式编程是指事件驱动的编程,其中数据流以异步方式进入并在到达时进行处理。
RxJava一起实现了这两个概念,其中流的数据随时间变化,并且使用者函数做出相应的反应。
Reactive Manifesto是一个在线文档,阐明了应用软件系统的高标准。根据宣言,以下是响应式软件的关键属性-
响应式-应始终及时响应。
消息驱动-应在组件之间使用异步消息传递,以便它们保持松散耦合。
弹性-即使在高负载下也应保持响应。
弹性-即使任何组件发生故障,也应保持响应。
RxJava具有两个关键组件:Observables和Observer。
可观察-它表示类似于Stream的对象,该对象可以发出零个或多个数据,可以发送错误消息,可以在发出一组数据的同时控制其速度,可以发送有限以及无限的数据。
观察者-订阅可观察对象的序列数据,并对可观察对象的每一项做出反应。每当Observable发出数据时,通知观察者。观察员一个接一个地处理数据。
如果项目不存在或之前的项目未返回回调,则永远不会通知观察者。