注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Java編程方法論:響應(yīng)式RxJava與代碼設(shè)計實戰(zhàn)

Java編程方法論:響應(yīng)式RxJava與代碼設(shè)計實戰(zhàn)

Java編程方法論:響應(yīng)式RxJava與代碼設(shè)計實戰(zhàn)

定 價:¥79.00

作 者: 知秋 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121364174 出版時間: 2019-06-01 包裝: 平裝
開本: 18開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書對RxJava 2的源碼進行了深入解讀,讓讀者可以從設(shè)計到實現(xiàn)細節(jié)上全面了解它,從而達到不僅會用而且可以進行RxJava 2源碼庫組件級別的拓展的程度。本書的目的不僅是介紹RxJava 2,而且更希望通過一個成熟、優(yōu)秀的代碼庫來向讀者展示閱讀源碼的思路及編程方面的技巧,其中包含了并發(fā)編程的實戰(zhàn)技巧、數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法、設(shè)計模式的使用方法、函數(shù)式編程的各種技巧等,希望讀者可以深入思考并獲得屬于自己的一套編程方法論。這也是“Java編程方法論系列叢書”的初衷,授之以魚不如授之以漁。

作者簡介

  知秋,本名李飛,長期致力于基礎(chǔ)代碼庫的研發(fā)工作,通過博客與視頻平臺bilibili,結(jié)合自己的經(jīng)驗做了大量源碼解讀的分享。對JDK、Spring、RxJava、Spring Reactor、Netty、Reactor-Netty等有很深刻的研究和獨到的見解,并以此打造“Java編程方法論系列叢書”?;陂_源精神,與志同道合的伙伴們一起創(chuàng)建了simviso開源分享團隊,為開源社區(qū)服務(wù)。

圖書目錄

第1章 響應(yīng)式編程總覽(Reactive Programming) 1
1.1 異步編程模式 1
1.1.1 并發(fā) 2
1.1.2 并行開發(fā)初探 3
1.2 流(Stream) 3
1.3 響應(yīng)式流(Reactive Stream) 4
1.3.1 響應(yīng)式流的特性 4
1.3.2 響應(yīng)式開發(fā)的設(shè)計原則 5
1.3.3 響應(yīng)式開發(fā)的好處 6
1.4 響應(yīng)式開發(fā)工具庫 6
1.4.1 RxJava簡介 6
1.4.2 Reactor簡介 7
1.4.3 MongoDB簡介 8
1.4.4 響應(yīng)式項目用例 8
1.5 Java 9中的響應(yīng)式編程 10
1.5.1 響應(yīng)式編程接口 10
1.5.2 Java 9響應(yīng)式編程入門Demo 12
1.5.3 SubmissionPublisher類的源碼解讀 18
1.5.4 響應(yīng)式編程整合Spring實戰(zhàn)案例 23
1.6 小結(jié) 29
第2章 在RxJava中創(chuàng)建Observable 30
2.1 響應(yīng)式編程所涉及的設(shè)計模式 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方法的設(shè)計思想 36
2.2.4 各式各樣的Observable 40
2.2.5 Observable.cache 43
2.2.6 無限流 49
2.2.7 在Observable內(nèi)處理錯誤 54
2.2.8 定時控制Observable發(fā)送數(shù)據(jù) 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 小結(jié) 89
第3章 RxJava 2中的操作 90
3.1 核心操作 90
3.1.1 使用filter進行條件過濾 90
3.1.2 使用map進行元素轉(zhuǎn)換 96
3.1.3 使用flatMap進行扁平化轉(zhuǎn)換 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過濾重復(fù)數(shù)據(jù) 152
3.3.6 其他操作 152
3.3.7 自定義操作 153
3.4 小結(jié) 159
第4章 對RxJava 2的設(shè)計探索 160
4.1 源的創(chuàng)建設(shè)計思路 160
4.2 中間操作的轉(zhuǎn)承 162
4.3 小結(jié) 166
第5章 Observable實戰(zhàn) 167
5.1 初版架子實現(xiàn) 167
5.1.1 DAO層面的處理工作 167
5.1.2 控制層的響應(yīng)式實現(xiàn) 172
5.2 基于架子實現(xiàn)一個匯率查詢的服務(wù) 175
5.3 rxjava-web-spring-boot-starter的抽取設(shè)計 179
5.4 ObservableSseEmitter的設(shè)計實現(xiàn) 188
5.5 小結(jié) 196
第6章 RxJava 2中的多線程操作 197
6.1 初探RxJava并發(fā)編程 197
6.2 subscribeOn操作 211
6.3 observeOn操作 216
6.4 unsubscribeOn操作 220
6.5 調(diào)度器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 小結(jié) 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轉(zhuǎn)化為一個Flowable 251
7.5 通過onBackpressureXXX操作來實現(xiàn)背壓策略 252
7.5.1 onBackPressureBuffer操作 255
7.5.2 onBackpressureLatest與onBackpressureDrop操作 256
7.6 Flowable.generate操作 257
7.7 小結(jié) 262
第8章 Flowable實戰(zhàn) 263
8.1 使用Flowable封裝JDBC 263
8.1.1 封裝部分查詢邏輯 263
8.1.2 封裝update邏輯 265
8.2 結(jié)合Spring Web應(yīng)用使用Flowable 268
8.2.1 接口數(shù)據(jù)的獲取 269
8.2.2 響應(yīng)式服務(wù)的源設(shè)計 271
8.3 單元測試 274
8.3.1 使用Mock Service Server進行測試 274
8.3.2 使用@Mock來進行一些服務(wù)測試 277
8.4 controller層的實現(xiàn)邏輯改造 279
8.5 小結(jié) 282

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號