ReactiveX
在Java开发中RxJava已经是首选的Stream处理框架。RxJava是ReactiveX的Java平台实现,各种ReactiveX实现库虽然支持的语言不同,但是运行机制都是一样的,很多Steam操作符也是通用的。
RxMarbles
Stream操作符往往是大家学习RxJava的门槛,虽然RxJava在Javadoc中贴心地给出了示意图,但有时候仍然不够形象。今天向大家安利一个神奇的工具- RxMarbles,可以让这些操作符示意图动起来(RxMarbles虽然基于RxJS,但ReactiveX总很多操作符是相通的,可以参考)
例如,combineLatest操作符
https://rxmarbles.com/#combineLatest
combineLatest监听两个Observable,任一个变化都会获取最新的的两个item合并计算。上图中很好的反映了这个特性: Observable1(1、2、4、5)与Observable2( A、B、C)合并成最下面的结果,移动上面两个Observable的顺序下面的结果会发生变化