博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RxJava入门指南
阅读量:6833 次
发布时间:2019-06-26

本文共 1886 字,大约阅读时间需要 6 分钟。

RxJava是 在JVM上的一个实现,ReactiveX使用Observable序列组合异步和基于事件的程序。更多关于ReactiveX的资料,可以查看 页面。

RxJava介绍

RxJava 是轻量级的

RxJava尽力做到非常轻巧。它仅关注Observable的抽象和与之相关的高层函数,实现为一个单独的JAR文件。

RxJava 是一个多语言实现

RxJava 支持Java 6或者更新的版本,以及其它的JVM语言如 , , , 和 。RxJava 可用于更多的语言环境,而不仅仅是Java和Scala,而且它致力于尊重每一种JVM语言的习惯。

RxJava 第三方库

下面是可与RxJava协作的第三方库:

  • - 用于分布式系统的一个延时和容错处理框架
  • - 一个用于 的 RxJava 兼容层
  • - 让你可以跟踪HTTP日志,就像使用 tail -f 一样
  • - 使用 RxJava 封装的VertX库
  • - 使用RxJava流式处理JDBC连接,还支持语句的函数式组合
  • - 使用RxJava实现的一个纯内存的可变的R-tree和R*-tree

使用指南

你可以在Maven Central 找到用于Maven, Ivy, Gradle, SBT和其它构建工具需要的二进制文件和依赖信息.

Maven示例:

io.reactivex
rxjava
1.0.10

Ivy示例:

SBT示例:

libraryDependencies += "com.netflix.rxjava" % "rxjava-scala" % "1.0.10"

Gradle示例:

compile 'io.reactivex:rxjava:1.0.10'

如果你没有使用构建系统,想直接下载JAR文件的话可以在这里找到:

编译构建

检出和构建RxJava的源码,使用以下命令:

$ git clone git@github.com:ReactiveX/RxJava.git$ cd RxJava/$ ./gradlew build

要执行一个完整的构建,使用这个命令:

$ ./gradlew clean build

构建命令的输出大概是这样的:

$ ./gradlew build:rxjava:compileJava:rxjava:processResources UP-TO-DATE:rxjava:classes:rxjava:jar:rxjava:sourcesJar:rxjava:signArchives SKIPPED:rxjava:assemble:rxjava:licenseMain UP-TO-DATE:rxjava:licenseTest UP-TO-DATE:rxjava:compileTestJava:rxjava:processTestResources UP-TO-DATE:rxjava:testClasses:rxjava:test:rxjava:check:rxjava:buildBUILD SUCCESSFULTotal time: 30.758 secs

执行完整的构建的话,你会看到单元测试的执行,输出类似于这样:

> Building > :rxjava:test > 91 tests completed

故障排除

有一位开发者上报了下面这个错误:

Could not resolve all dependencies for configuration ‘:language-adaptors:rxjava-scala:provided’

他在从.gradle/caches.m2/repository/org/scala-lang/移除了旧版本的 scala-library之后解决了这个问题,然后执行了一次完整构建。

在构建RxJava时你可能会遇到下面的错误:

Failed to apply plugin [id ‘java’]

Could not generate a proxy class for class nebula.core.NamedContainerProperOrder.

这是JVM的问题,详细信息可以参考 。如果遇到这个问题,可以在构建RxJava之前执行 export GRADLE_OPTS=-noverify,或者升级你机器上的JDK。

转载地址:http://ilnkl.baihongyu.com/

你可能感兴趣的文章
Elasticsearch——多索引的使用
查看>>
sparkJavaApi逐个详解
查看>>
错误:Could not find an available JavaScript runtime
查看>>
在 SQL2005 使用行转列或列转行
查看>>
我的友情链接
查看>>
最让人感触的100句经典爱情歌词
查看>>
WebBrowser控件
查看>>
我的友情链接
查看>>
Windows Server 2012 R2 新功能体验——工作文件夹(Work Folders)
查看>>
ubuntu11.10的root密码
查看>>
django python 文件上传【Part 5】
查看>>
【模板】最小费用最大流
查看>>
五周第一次课(1月8日)
查看>>
解决vsftpd编译时的错误:could not read symbols: File in wrong format
查看>>
NHibernate学习总结
查看>>
html转译java语言
查看>>
oracle中时间转换的问题
查看>>
如何设计Android App测试用例
查看>>
sysbench
查看>>
详解MySQL读写分离
查看>>