use*_*547 6 java reactive-programming rx-java java-9
首先,我必须说我对反应式编程没有多少经验.
由于JDK 9(Flow及其嵌套接口)中只有少数接口,因此JDK 9显然不包含像RxJava这样的反应库.
在Javadoc,有对的implentations一些例子Publisher,Subscription和Subscriber.但这些似乎相当低级,没有任何反应操作员或处理背压.
那么将这些接口包含在JDK中有什么意义呢?
反应库的供应商是否应该使用它们,以便那些Java实现(如RxJava)使用一组通用的接口?(类似于JPA和Hibernate?)
aka*_*okd 10
它主要允许Java本身在未来的某个版本内部使用反应式编程,例如Reactive JDBC,Networking,IO等.在概念上,它也可以作为互操作的新拉力点,但是,反应流已经存在这样的反弹点.通过Java 6要求定位更多的受众.
正如你所提到的那样,拥有4个接口并且SubmissionPublisher它本身的使用有限.如果Java具有类似于Kotlin和C#的扩展方法,那么包含接口可能会产生更有趣的影响.
不幸的是,这也意味着现有的库必须使用桥接器在Java 9 Flow和Reactive-Streams之间进行转换和/或用Java 9 Flow API重新实现整个库 - 切断任何没有Java 9的人(即Android).
主要的图书馆已经有这样的桥梁(RxJava 2 Jdk 9 Interop,Reactor-Core Interop),而Reactive-Streams 最终将拥有自己的桥梁.还有一个为Java 9特性编写的原型反应库.