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

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

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

定 價(jià):¥89.00

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

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

內(nèi)容簡介

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

作者簡介

  知秋,本名李飛飛,simviso團(tuán)隊(duì)創(chuàng)始人,曾長期致力于基礎(chǔ)代碼庫研發(fā)工作,對(duì)JDK、Spring、RxJava、Spring Reactor、Netty、Reactor-Netty、RSocket等有深刻的研究和獨(dú)到的見解,并以此打造“Java編程方法論系列叢書”。一直通過博客與視頻平臺(tái)bilibili(B站),結(jié)合自己的經(jīng)驗(yàn)進(jìn)行大量源碼解讀分享?,F(xiàn)在主要致力于帶領(lǐng)simviso的小伙伴引進(jìn)、翻譯國外知名高校計(jì)算機(jī)科學(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è)計(jì)啟示 3
1.4 如何看待眾多函數(shù)表達(dá)式 11
1.5 Reactor與RxJava的對(duì)比 12
1.6 小結(jié) 14
第2章 對(duì)Flux的探索 15
2.1 對(duì)Flux.subscribe訂閱邏輯的解讀 16
2.1.1 對(duì)CoreSubscriber的解讀 17
2.1.2 對(duì)LambdaSubscriber的解讀 22
2.1.3 AtomicXxxFieldUpdater的技法應(yīng)用 24
2.2 用Flux.create創(chuàng)建源 30
2.2.1 FluxCreate細(xì)節(jié)探索 31
2.2.2 Flux的快速包裝方法 36
2.2.3 Reactor 3中的generate方法 38
2.3 蛇行走位的QueueSubscription 43
2.3.1 無界隊(duì)列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的特殊使用場景及細(xì)節(jié)探索 56
2.8 對(duì)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 對(duì)Schedulers.decorateExecutorService的解讀 69
3.1.4 對(duì)ElasticScheduler.schedule的解讀 70
3.1.5 對(duì)ElasticScheduler.DirectScheduleTask的解讀 71
3.1.6 對(duì)Schedulers.directSchedule的解讀 73
3.1.7 對(duì)ElasticScheduler.ElasticWorker的解讀 74
3.1.8 ElasticScheduler小結(jié) 82
3.2 深入解讀publishOn 82
3.2.1 publishOn流程概述 82
3.2.2 對(duì)FluxPublishOn的解讀 85
3.3 深入解讀subscribeOn 98
3.4 Flux.parallel&Flowable.parallel的并行玩法 108
3.5 ParallelFlux.runOn&ParallelFlowable.runOn的調(diào)度實(shí)現(xiàn) 117
3.6 小結(jié) 122
第4章 對(duì)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的二三事及對(duì)reactor-bug的分析 146
4.10 小結(jié) 158
第5章 對(duì)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的實(shí)現(xiàn)代碼 189
6.1 初識(shí)TopicProcessor 190
6.2 TopicProcessor構(gòu)造器 195
6.3 對(duì)RingBuffer中publish方法的解讀 205
6.4 對(duì)MultiProducerRingBuffer的解讀 208
6.4.1 RingBuffer中的UnsafeSupport 210
6.4.2 RingBuffer中的next與publish操作 216
6.5 TopicProcessor.onSubscribe及類BossEventLoopGroup的設(shè)計(jì) 221
6.6 TopicProcessor.subscribe及類WorkerEventLoopGroup的設(shè)計(jì) 225
6.7 小結(jié) 241
第7章 對(duì)WorkQueueProcessor的解讀 242
7.1 WorkQueueProcessor的requestTask 244
7.2 WorkQueueProcessor的subscribe 247
7.3 冷熱數(shù)據(jù)源的區(qū)別 251
7.4 實(shí)例詳解 252
7.5 小結(jié) 255
第8章 Reactor中特供的Context 256
8.1 Context的設(shè)計(jì)緣由 256
8.2 對(duì)Context的解讀 258
8.3 小結(jié) 265
第9章 Reactor中的測試 267
9.1 StepVerifier測試源碼解析 267
9.1.1 接口定義 267
9.1.2 接口實(shí)現(xiàn) 269
9.1.3 驗(yàn)證 274
9.2 StepVerifier測試應(yīng)用 275
9.3 操作時(shí)間測試 278
9.4 使用StepVerifier進(jìn)行后置驗(yàn)證 286
9.5 關(guān)于Context的測試 289
9.6 使用TestPublisher對(duì)自定義中間操作進(jìn)行測試 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方式進(jìn)行調(diào)試 325
10.4 記錄訂閱關(guān)系下與操作流程相關(guān)的日志 326
10.5 小結(jié) 326

本目錄推薦

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