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

Java編程方法論:響應(yīng)式Spring Reactor 3設(shè)計與實現(xiàn)

Java編程方法論:響應(yīng)式Spring Reactor 3設(shè)計與實現(xiàn)

定 價:¥89.00

作 者: 知秋 著
出版社: 電子工業(yè)出版社
叢編項: Java編程方法論系列叢書
標(biāo) 簽: 暫缺

ISBN: 9787121394768 出版時間: 2020-09-01 包裝: 平裝
開本: 16開 頁數(shù): 348 字?jǐn)?shù):  

內(nèi)容簡介

  本書主要專注于解讀Spring Reactor 3的代碼設(shè)計與實現(xiàn)。全書共10章,其中第1、2章將從接口的設(shè)計入手,逐漸深入介紹Reactor中Flux源與訂閱者Subscriber的諸多交互實現(xiàn)細節(jié);第3章將通過對調(diào)度器的研究來向讀者展示其中的優(yōu)秀設(shè)計,可以幫助讀者更好地掌握J(rèn)ava并發(fā)庫,同時可以使讀者對使用Reactor進行異步編程有更好的認(rèn)識;第4章將接觸到一些常用的Reactor操作,方便讀者寫出可重用度高、邏輯清晰的代碼;第5、6、7章將著重分析Reactor中Processor的設(shè)計實現(xiàn),不僅講述了它的使用場景,還講解了其中的內(nèi)在原理,以及如何應(yīng)對未來項目開發(fā)過程中可能遇到的種種問題;第8章將介紹并分析Reactor特別提供的Context,這是Reactor為了應(yīng)對生產(chǎn)-訂閱模式下的響應(yīng)式編程在異步環(huán)境中對訂閱關(guān)系上下文進行管理所產(chǎn)生的問題而給出的解決方案,Spring Framework 5.2中的響應(yīng)式事務(wù)也是基于它實現(xiàn)的;第9章將主要介紹Reactor中的測試,同時帶著讀者一步一步設(shè)計實現(xiàn)一個針對Reactor項目的測試庫;第10章將主要介紹Reactor中的調(diào)試,可以教會讀者根據(jù)不同的需求采取不同的調(diào)試方式。 本書適合有Java編程基礎(chǔ)的中高級Java開發(fā)工程師、想要學(xué)習(xí)代碼設(shè)計思路與技巧的讀者、對響應(yīng)式編程感興趣的讀者閱讀。

作者簡介

  知秋,本名李飛飛,simviso團隊創(chuàng)始人,曾長期致力于基礎(chǔ)代碼庫研發(fā)工作,對JDK、Spring、RxJava、Spring Reactor、Netty、Reactor-Netty、RSocket等有深刻的研究和獨到的見解,并以此打造“Java編程方法論系列叢書”。一直通過博客與視頻平臺bilibili(B站),結(jié)合自己的經(jīng)驗進行大量源碼解讀分享?,F(xiàn)在主要致力于帶領(lǐng)simviso的小伙伴引進、翻譯國外知名高校計算機科學(xué)相關(guān)課程及國外知名Java開發(fā)者的技術(shù)分享內(nèi)容。

圖書目錄

目錄

第1章 響應(yīng)式編程概述 1
1.1 并發(fā)與并行的關(guān)系 1
1.2 如何理解響應(yīng)式編程中的背壓 2
1.3 源碼接口設(shè)計啟示 3
1.4 如何看待眾多函數(shù)表達式 11
1.5 Reactor與RxJava的對比 12
1.6 小結(jié) 14
第2章 對Flux的探索 15
2.1 對Flux.subscribe訂閱邏輯的解讀 16
2.1.1 對CoreSubscriber的解讀 17
2.1.2 對LambdaSubscriber的解讀 22
2.1.3 AtomicXxxFieldUpdater的技法應(yīng)用 24
2.2 用Flux.create創(chuàng)建源 30
2.2.1 FluxCreate細節(jié)探索 31
2.2.2 Flux的快速包裝方法 36
2.2.3 Reactor 3中的generate方法 38
2.3 蛇行走位的QueueSubscription 43
2.3.1 無界隊列SpscLinkedArrayQueue 44
2.3.2 QueueSubscription.requestFusion的催化效應(yīng) 47
2.4 Mono的二三事 50
2.5 通過BaseSubscriber自定義訂閱者 51
2.6 將常見的監(jiān)聽器改造成響應(yīng)式結(jié)構(gòu) 53
2.7 Flux.push的特殊使用場景及細節(jié)探索 56
2.8 對Flux.handle的解讀 58
2.9 小結(jié) 63
第3章 調(diào)度器 64
3.1 深入理解Schedulers.elastic 65
3.1.1 CachedScheduler的啟示 66
3.1.2 ElasticScheduler的類定義思路 68
3.1.3 對Schedulers.decorateExecutorService的解讀 69
3.1.4 對ElasticScheduler.schedule的解讀 70
3.1.5 對ElasticScheduler.DirectScheduleTask的解讀 71
3.1.6 對Schedulers.directSchedule的解讀 73
3.1.7 對ElasticScheduler.ElasticWorker的解讀 74
3.1.8 ElasticScheduler小結(jié) 82
3.2 深入解讀publishOn 82
3.2.1 publishOn流程概述 82
3.2.2 對FluxPublishOn的解讀 85
3.3 深入解讀subscribeOn 98
3.4 Flux.parallel&Flowable.parallel的并行玩法 108
3.5 ParallelFlux.runOn&ParallelFlowable.runOn的調(diào)度實現(xiàn) 117
3.6 小結(jié) 122
第4章 對Reactor操作的解讀 123
4.1 filter操作 123
4.2 transform操作 124
4.3 compose與transformDeferred操作 127
4.4 批處理操作 129
4.4.1 buffer操作 130
4.4.2 window 操作 132
4.4.3 groupBy 操作 139
4.5 merge和mergeSequential操作 140
4.6 flatMap和flatMapSequential操作 142
4.7 concatMap操作 144
4.8 combineLatest操作 145
4.9 ConnectableFlux的二三事及對reactor-bug的分析 146
4.10 小結(jié) 158
第5章 對Processor的探索 159
5.1 UnicastProcessor詳解 160
5.2 DirectProcessor詳解 164
5.3 EmitterProcessor詳解 169
5.4 ReplayProcessor詳解 174
5.5 小結(jié) 188
第6章 TopicProcessor及Reactor中匹配Disruptor的實現(xiàn)代碼 189
6.1 初識TopicProcessor 190
6.2 TopicProcessor構(gòu)造器 195
6.3 對RingBuffer中publish方法的解讀 205
6.4 對MultiProducerRingBuffer的解讀 208
6.4.1 RingBuffer中的UnsafeSupport 210
6.4.2 RingBuffer中的next與publish操作 216
6.5 TopicProcessor.onSubscribe及類BossEventLoopGroup的設(shè)計 221
6.6 TopicProcessor.subscribe及類WorkerEventLoopGroup的設(shè)計 225
6.7 小結(jié) 241
第7章 對WorkQueueProcessor的解讀 242
7.1 WorkQueueProcessor的requestTask 244
7.2 WorkQueueProcessor的subscribe 247
7.3 冷熱數(shù)據(jù)源的區(qū)別 251
7.4 實例詳解 252
7.5 小結(jié) 255
第8章 Reactor中特供的Context 256
8.1 Context的設(shè)計緣由 256
8.2 對Context的解讀 258
8.3 小結(jié) 265
第9章 Reactor中的測試 267
9.1 StepVerifier測試源碼解析 267
9.1.1 接口定義 267
9.1.2 接口實現(xiàn) 269
9.1.3 驗證 274
9.2 StepVerifier測試應(yīng)用 275
9.3 操作時間測試 278
9.4 使用StepVerifier進行后置驗證 286
9.5 關(guān)于Context的測試 289
9.6 使用TestPublisher對自定義中間操作進行測試 296
9.7 使用PublisherProbe檢查執(zhí)行路徑 305
9.8 小結(jié) 310
第10章 Reactor中的調(diào)試 311
10.1 啟用調(diào)試模式 311
10.2 在調(diào)試模式下讀取堆棧跟蹤信息 315
10.3 通過checkpoint方式進行調(diào)試 325
10.4 記錄訂閱關(guān)系下與操作流程相關(guān)的日志 326
10.5 小結(jié) 326

本目錄推薦

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