提纲
1、响应式编程Reactive Programming
2、Reactive Streams
3、Reactor和RxJava
1、响应式编程Reactive Programming
为了解决异步编程中出现的各种问题,程序员们提出了各种的方法和手段去解决这些问题,这些方法和手段就被称为Reactive Programming。
Reactive Programming是一种编程思想,类似于面向对象,函数式编程,也就说采用响应式编程思想写程序,就是响应式编程。
响应式编程的本质就是对数据流或某种变化做出反应,但是这个变化什么时候被触发是未知的。
从响应式编程的本质来看,它是一种异步的数据处理方式,所以肯定是采用回调的方式在处理数据的变化。
2、响应式流Reactive Streams
当越来越多的程序员,开始使用响应式编程思想来编写处理数据流的程序时,就需要一些专家来统一一响应式编程思想,形成响应式编程的规范和标准。
在这样的背景下,国外的Netflix、Pivotal、Lightbend这3家公司联合起来启动了Reactive Steams项目。Reactive Streams项目是为以响应式编程思想编写异步流数据处理程序制定一套标准和规范。
因为响应式编程思想用来编写处理流数据stream的程序,所以这样的程序就叫响应式流Reactive Streams。
所以,Reactive Steams,翻译成中文就是反应式流或者响应式流,其实是一套标准和规范,目的是为使用响应式思想编写流数据处理程序提供一套规范和标准。
3、Reactor和RxJava
既然制定了针对响应流的标准,那么就要提供实现标准的软件产品。
基于Reactive Streams规范的实现很多,Java领域的第三方库Reactor和RxJava就是最著名实现了Reactive Streams规范的软件产品。
因此,Reactive Streams与RxJava和Reactor的关系,就类似于Java语言规范(Java language Specification)与JDK的关系一样,前者是标准和规范,后者是实现了前者的软件产品。
Reactor和RxJava是Java社区实现的Reactive Streams框架,而Java官方也在JDK9中引入了实现Reactive Streams规范的Flow类,它是由著名Java专家Doug Lee编写的。
border: 2px solid
4、异步编程、Reactive Programming和Java Stream三者的关系
标签:Java,Reactive,编程,Programming,响应,Streams From: https://www.cnblogs.com/zhangzl419/p/18194712