RxJava 概述

RxJava 概述

RxJava是基于Java的ReactiveX的扩展。它提供了在Java中实现ReactiveX项目的功能。RxJava具有以下关键特性。

  • 扩展了观察者模式。

  • 支持数据/事件的序列。

  • 提供操作符以声明方式将序列组合在一起。

  • 内部处理线程、同步、线程安全和并发数据结构。

什么是ReactiveX

ReactiveX是一个旨在为各种编程语言提供响应式编程概念的项目。响应式编程是指程序根据数据出现的同时作出反应的情况。它是一种基于事件的编程概念,事件可以传播到注册的观察者。

根据 响应式 ,它们结合了观察者模式、迭代器模式和函数式编程的最佳思想。

正确使用的观察者模式。ReactiveX是观察者模式、迭代器模式和函数式编程的最佳思想的结合。

函数式编程

函数式编程围绕使用纯函数构建软件。纯函数不依赖于先前的状态,并且对于传递的相同参数,始终返回相同的结果。纯函数有助于避免多线程环境中常见的共享对象、可变数据和副作用问题。

响应式编程

响应式编程指的是以事件驱动编程,数据流以异步方式传入并在到达时进行处理。

函数式响应式编程

RxJava同时实现了这两个概念,其中数据流随时间变化,消费者函数相应地作出反应。

Reactive宣言

响应式宣言 是一份在线文档,规定了应用软件系统的高标准。根据宣言,响应式软件具有以下关键特性:

  • 响应及时 - 应该始终及时响应。

  • 消息驱动 - 应使用组件之间的异步消息传递,以保持松耦合。

  • 弹性 - 即使在高负载下也能保持响应。

  • 强大 - 即使某些组件失败,也能保持响应。

RxJava的关键组件

RxJava有两个关键组件:Observable(可观察者)和Observer(观察者)。

  • Observable(可观察者) - 它表示类似于流的对象,可以发出零个或多个数据,可以发送错误消息,在发出一组数据时可以控制速度,可以发送有限和无限的数据。

  • Observer(观察者) - 它订阅可观察对象的数据序列,并根据可观察对象的每个项目作出反应。当Observable发出数据时,观察者会收到通知。观察者逐个处理数据。

如果项目不存在或者先前的项没有返回回调结果,观察者将不会收到通知。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程