第1章 响应式编程总览(Reactive Programming) 1
1.1 异步编程模式 1
1.1.1 并发 2
1.1.2 并行开发初探 3
1.2 流(Stream) 3
1.3 响应式流(Reactive Stream) 4
1.3.1 响应式流的特性 4
1.3.2 响应式开发的设计原则 5
1.3.3 响应式开发的好处 6
1.4 响应式开发工具库 6
1.4.1 RxJava简介 6
1.4.2 Reactor简介 7
1.4.3 MongoDB简介 8
1.4.4 响应式项目用例 8
1.5 Java 9中的响应式编程 10
1.5.1 响应式编程接口 10
1.5.2 Java 9响应式编程入门Demo 12
1.5.3 SubmissionPublisher类的源码解读 18
1.5.4 响应式编程整合Spring实战案例 23
1.6 小结 29
第2章 在RxJava中创建Observable 30
2.1 响应式编程所涉及的设计模式 30
2.1.1 观察者模式 30
2.1.2 迭代器模式 30
2.2 解读reactivex.Observable 31
2.2.1 从Flow.Publisher到Observable 33
2.2.2 subscribe的二三事 33
2.2.3 create方法的设计思想 36
2.2.4 各式各样的Observable 40
2.2.5 Observable.cache 43
2.2.6 无限流 49
2.2.7 在Observable内处理错误 54
2.2.8 定时控制Observable发送数据 56
2.2.9 Disposable延伸 59
2.2.10 ConnectableObservable解读 67
2.2.11 Observable中的publish.refCount解读 76
2.2.12 RxJava中的Subject解读 79
2.3 小结 89
第3章 RxJava 2中的操作 90
3.1 核心操作 90
3.1.1 使用filter进行条件过滤 90
3.1.2 使用map进行元素转换 96
3.1.3 使用flatMap进行扁平化转换 98
3.1.4 使用scan累加器 112
3.1.5 使用groupBy进行分组 114
3.2 多个Observable的合并操作 122
3.2.1 使用merge对Observable进行合并 122
3.2.2 使用zip方法进行合并 124
3.2.3 combineLatest操作 135
3.2.4 withLatestFrom操作 141
3.2.5 amb操作 142
3.3 高级操作 143
3.3.1 再谈累加器scan 143
3.3.2 聚合操作reduce 144
3.3.3 收集操作collect 146
3.3.4 使用distinct去重 148
3.3.5 使用distinctUntilChanged过滤重复数据 152
3.3.6 其他操作 152
3.3.7 自定义操作 153
3.4 小结 159
第4章 对RxJava 2的设计探索 160
4.1 源的创建设计思路 160
4.2 中间操作的转承 162
4.3 小结 166
第5章 Observable实战 167
5.1 初版架子实现 167
5.1.1 DAO层面的处理工作 167
5.1.2 控制层的响应式实现 172
5.2 基于架子实现一个汇率查询的服务 175
5.3 rxjava-web-spring-boot-starter的抽取设计 179
5.4 ObservableSseEmitter的设计实现 188
5.5 小结 196
第6章 RxJava 2中的多线程操作 197
6.1 初探RxJava并发编程 197
6.2 subscribeOn操作 211
6.3 observeOn操作 216
6.4 unsubscribeOn操作 220
6.5 调度器Scheduler 226
6.5.1 Schedulers.newThread方式 227
6.5.2 Schedulers.io方式 227
6.5.3 Schedulers.computation方式 228
6.5.4 Schedulers.from(Executor executor)自定义方式 228
6.6 小结 230
第7章 Flowable与背压 231
7.1 回顾背压 231
7.2 引入Flowable 233
7.3 探索Flowable.create 234
7.3.1 BackpressureStrategy.BUFFER策略 239
7.3.2 BackpressureStrategy.LATEST策略 246
7.3.3 BackpressureStrategy.DROP策略 249
7.4 将一个Observable转化为一个Flowable 251
7.5 通过onBackpressureXXX操作来实现背压策略 252
7.5.1 onBackPressureBuffer操作 255
7.5.2 onBackpressureLatest与onBackpressureDrop操作 256
7.6 Flowable.generate操作 257
7.7 小结 262
第8章 Flowable实战 263
8.1 使用Flowable封装JDBC 263
8.1.1 封装部分查询逻辑 263
8.1.2 封装update逻辑 265
8.2 结合Spring Web应用使用Flowable 268
8.2.1 接口数据的获取 269
8.2.2 响应式服务的源设计 271
8.3 单元测试 274
8.3.1 使用Mock Service Server进行测试 274
8.3.2 使用@Mock来进行一些服务测试 277
8.4 controller层的实现逻辑改造 279
8.5 小结 282
· · · · · · (
收起)
0 有用 迷途的旅行商 2022-07-25 21:01:23
垃圾书,0星都不想给
2 有用 蟑螂Hoop 2020-03-12 13:02:11
看不懂
5 有用 漠视 2020-01-05 15:34:36
四个字,什么玩意
11 有用 coffeebeansyy 2019-06-18 16:04:10
全文无逻辑,站在“上帝”的角度,不是入门书籍,更不是源码分析,书写的不如自己(作者)博客,书中出现不少,“这个问题我的视频里面有解答”,于是找到交流群,书配套视频是好,但是读者可以选择看,也可以选择不看,不能“强求”,作者还建了个书籍交流群,作者口头禅:“你这个问题太低级了,去看我的视频吧”,“你这个问题我视频里面已经说了,去看我的视频吧”,“你们怎么就不看我的视频呢?”, “你不看我的视频,我就... 全文无逻辑,站在“上帝”的角度,不是入门书籍,更不是源码分析,书写的不如自己(作者)博客,书中出现不少,“这个问题我的视频里面有解答”,于是找到交流群,书配套视频是好,但是读者可以选择看,也可以选择不看,不能“强求”,作者还建了个书籍交流群,作者口头禅:“你这个问题太低级了,去看我的视频吧”,“你这个问题我视频里面已经说了,去看我的视频吧”,“你们怎么就不看我的视频呢?”, “你不看我的视频,我就不回答你的问题”, 不知道这样的群建起了除了发广告有何意义? 附: 书购买于:2019/6/18 , 2019年6月26 (书已出,群已退) (展开)
0 有用 66666 2022-07-24 16:03:49
《源码复读机》
0 有用 夜尽天明 2022-07-31 17:21:22
写的逻辑性太差,让人完全看不下去
0 有用 迷途的旅行商 2022-07-25 21:01:23
垃圾书,0星都不想给
0 有用 66666 2022-07-24 16:03:49
《源码复读机》
0 有用 小七哥 2020-07-17 00:48:48
并没有感觉像某人说的 种种不好,在书没出之前我就已经被视频吸引了。作者不太喜欢那些不去自己探索学习 就乱提问题的人,自己不思考,真的读不了这本书,虽然看起来很吃力,但是这本书是一本不一样的书,Rxjava 2还有一本已经出版的书籍,两本书的角度完全不同,这一本让我体会到了Rxjava是怎么设计的,很有收获。不吹不黑。
2 有用 蟑螂Hoop 2020-03-12 13:02:11
看不懂