java - RxJava1 和 RxJava2 的区别

标签 java java-8 rx-java

我一直在寻找 RxJava1 的文档 https://github.com/ReactiveX/RxJava/releases和 RxJava2 https://github.com/ReactiveX/RxJava/wiki/Reactive-Streams并且看起来独特的不同之处在于 RxJava 2 具有 Java Stream。

还有什么不同吗?

我一直在使用 1.1.3 版,但我不确定是否值得迁移到 RxJava2,因为我们已经在代码中使用 Java 8 流

问候。

最佳答案

RxJava 1.x 和 2.x 都设计为 Java 6+,因此我们无法在任何版本中支持 Java 8 Streams。我们决定继续支持永远不会更新到 Java 8 兼容运行时的无数 Android 设备和版本。如果您需要 Java 8 支持,请考虑使用 Reactor-Core来自 Pivotal。

两者之间的主要区别在于 2.x 直接针对 Reactive-Streams SPI,为此,它已从头开始完全重写。我们目前处于开发预览模式,您可以按照 2.x branch readme 中的说明进行访问.

2.x 的完全重写大大改善了我们的内存消耗和性能; here is a benchmark比较各种版本和库。

在 API 表面上,我们计划继续支持 1.x 中存在的所有运算符,并可能在 1.x 结束支持之前用新的版本扩展这两个版本几年。

由于 2.x 是一个新架构,许多依赖库(例如,Retrofit)也必须更新;这可能不会在今年 8 月底之前发生,也可能需要几个月的时间才能 catch 。 Here is the wiki page其中包含差异的亮点。

关于java - RxJava1 和 RxJava2 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38423079/

相关文章:

java - 使用比较器对列表中的列表进行排序

java - 找不到适用于 jdbc :derby:myDBtest 的合适驱动程序

java - 将值返回给java中的main方法

java - 使用 H2 数据库的 JDBC 中的年份从负 -509 变为正 510

rxjs - RxJava/RxJs : How to merge two source observables but complete as soon as one of them completes

android - recyclerview 上没有显示数据

android - Flowable 的两个序列没有到达 toList()

java - 如何处理错误 readJavaFormatString(FloatingDecimal.java :991)

java - 设置属性值而不在 JSF 页面上进行输入

java - 关于 LinkedBlockingQueue 源代码的一些困惑