当前位置:首页 > 工业技术
Java编程方法论  响应式RxJava与代码设计实战
Java编程方法论  响应式RxJava与代码设计实战

Java编程方法论 响应式RxJava与代码设计实战PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:知秋著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121364174
  • 页数:282 页
图书介绍:本书主要讲解了到底什么是响应式,从代码设计层面将JDK 9+中的Flow API、RxJava 2中关于源的创建,以及调度与背压等相关核心操作娓娓道来,并通过实战案例帮助大家更好地理解和使用相关的API。本书涉及了大量并发编程方面的技巧,以及从基础代码角度介绍了各种接口、设计模式和与之相关的基础知识点,并将它们融会贯通。这就好比我们上学的时候,老师向我们传授基础知识,然后通过习题让我们掌握这些基础知识的运用技巧。本书也遵循了这个思路,同时这也符合我写书的初衷。
《Java编程方法论 响应式RxJava与代码设计实战》目录

第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

返回顶部