RxJava入门指南
RxJava是 ReactiveX 在JVM上的一个实现,ReactiveX使用Observable序列组合异步和基于事件的程序。更多关于ReactiveX的资料,可以查看 ReactiveX 介绍 页面。
RxJava介绍
RxJava 是轻量级的
RxJava尽力做到非常轻巧。它仅关注Observable的抽象和与之相关的高层函数,实现为一个单独的JAR文件。
RxJava 是一个多语言实现
RxJava 支持Java 6或者更新的版本,以及其它的JVM语言如 Groovy, Clojure, JRuby, Kotlin 和 Scala。RxJava 可用于更多的语言环境,而不仅仅是Java和Scala,而且它致力于尊重每一种JVM语言的习惯。
RxJava 第三方库
下面是可与RxJava协作的第三方库:
- Hystrix - 用于分布式系统的一个延时和容错处理框架
- Camel RX - 一个用于Apache Camel 的 RxJava 兼容层
- rxjava-http-tail - 让你可以跟踪HTTP日志,就像使用
tail -f
一样 - mod-rxvertx - Extension for VertX - 使用 RxJava 封装的VertX库
- rxjava-jdbc - 使用RxJava流式处理JDBC连接,还支持语句的函数式组合
- rtree - 使用RxJava实现的一个纯内存的可变的R-tree和R*-tree
使用指南
你可以在Maven Central http://search.maven.org 找到用于Maven, Ivy, Gradle, SBT和其它构建工具需要的二进制文件和依赖信息.
Maven示例:
<dependency><groupId>io.reactivex</groupId><artifactId>rxjava</artifactId><version>1.0.10</version>
</dependency>
Ivy示例:
<dependency org="io.reactivex" name="rxjava" rev="1.0.10" />
SBT示例:
libraryDependencies += "com.netflix.rxjava" % "rxjava-scala" % "1.0.10"
Gradle示例:
compile 'io.reactivex:rxjava:1.0.10'
如果你没有使用构建系统,想直接下载JAR文件的话可以在这里找到:
https://repo1.maven.org/maven2/io/reactivex/
编译构建
检出和构建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的问题,详细信息可以参考 GROOVY-6951 。如果遇到这个问题,可以在构建RxJava之前执行 export GRADLE_OPTS=-noverify
,或者升级你机器上的JDK。
RxJava入门指南相关推荐
- [译]函数式响应编程入门指南
原文地址:An Introduction to Functional Reactive Programming 原文作者:Daniel Lew 译文出自:掘金翻译计划 本文永久链接:github.co ...
- 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题
入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...
- Maven入门指南⑦:Maven的生命周期和插件
Maven入门指南⑦:Maven的生命周期和插件 一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周 ...
- UE4风格化场景设计入门指南 Stylized Station – The Environment Artist’s Survival Kit
持续时间13h 1920X1080 .ts 包含项目文件 大小解压后:4.9G 语言:英语+中文字幕(人工校对) 标题:风格化的车站--环境艺术家的生存工具包 信息: 环境艺术很难. 尤其是作为初学者 ...
- 游戏风格化角色创建入门指南视频教程
游戏风格化角色创建入门指南视频教程 时间 33小时 包括项目文件 1920X1080 MP4 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 游戏中的风格化角色创建入门指南 百度一下 ...
- mongoDB 入门指南、示例
http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html mongoDB 入门指南.示例 上一篇:简单介绍mongoDB 一.准备工作 ...
- 智能合约和区块链技术:入门指南
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 智能合约和区块链技术:入门指南 多年前,在没有数字合约和区块链技术存在的情况下,双方的合约往往以传统的方式进行.在加密货 ...
- 数据分析从头学_数据新闻学入门指南:让我们从头开始构建故事
数据分析从头学 by Mina Demian 由Mina Demian 数据新闻学入门指南:让我们从头开始构建故事 (A Beginner's Guide to Data Journalism: Le ...
- 《Redis入门指南(第2版)》一第2章 准备
本节书摘来异步社区<Redis入门指南(第2版)>一书中的第2章,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 准备 R ...
最新文章
- 雅虎对提升网站性能的最佳实践(英文)
- linux 文件系统的管理 (硬盘)
- java 作业 老师与教员信息 类与对象
- chmod 更改权限
- python 输入列表 返回每个元素出现的次数
- matlab设计理想高斯巴特沃斯低通滤波器_完整二阶有源带通滤波器设计!(下载:教程+原理图+视频+代码)...
- 2015出现的25项最佳发明
- 使用containerd管理容器【同docker】【或称之为docker替代品】
- latex插图编号_LaTex技巧[26]:Latex重新为图片编号
- 服务器正文15:Assert的使用技巧
- 锂离子电池热失控的机理
- acwing.回文质数
- 服务重启后 云硬盘,无法使用
- html5 打字机效果,使用JavaScript制作打字机文本效果
- 「数据结构」普林斯顿算法课第二周作业
- 用WLW离线写cnblogs博文
- 优化算法—人工蜂群算法(ABC)
- 公职人员财产公开_知道您的财产:Web设计人员/开发人员的薪资指南[比较]
- 李文胜oracle,2014年下期解放学校防火演练方案.doc
- 服务器配置公网ftp服务端(软件和python代码两种方法)
热门文章
- CC2640R2F之新手必看心得篇
- portraiture2023手动磨皮的p图插件
- 3-7 慕课和掘金小册的学习
- EPS在倾斜摄影“房地一体”项目中的应用及操作简介
- CCS使用教程06:在线仿真操作
- Android编译系统apk并进行系统签名安装
- 工时、工期、执行时间计算方式
- 【错误记录】Visual Studio 2019 中运行 Unity C# 脚本时报错 ( 根据解决方案, 可能需要安装额外的组件才能获得 | .NET 桌面开发 | 使用 Unity 的游戏开发 )
- c语言压缩文本文件北京理工大学,北京理工大学C语言程序设计第十二章文件.ppt...
- Android实习周记:第二周,(IT==不停的学习) is TRUE