预售Java编程方法论响应式SpringReactor3设计与实现知秋著pdf下载pdf下载

预售Java编程方法论响应式SpringReactor3设计与实现知秋著百度网盘pdf下载

作者:
简介:本篇主要提供预售Java编程方法论响应式SpringReactor3设计与实现知秋著pdf下载
出版社:义博图书专营店
出版时间:
pdf下载价格:9.00¥


预览


内容介绍



本书主要专注于解读Spring Reactor 3的代码设计与实现。全书共10章,其中1、2章将从接口的设计入手,逐渐深入介绍Reactor中Flu源与订阅者Subscriber的诸多交互实现细节;3章将通过对调度器的研究来向读者展示其中的优秀设计,可以帮助读者更好地掌握Java并发库,同时可以使读者对使用Reactor进行异步编程有更好的认识;4章将接触到一些常用的Reactor作,方便读者写出可重用度高、逻辑清晰的代码;5、6、7章将着重分析Reactor中Processor的设计实现,不仅讲述了它的使用场景,还讲解了其中的内在原理,以及如何应对未来项目开发过程中可能遇到的种种问题;8章将介绍并分析Reactor特别提供的Contet,这是Reactor为了应对生产-订阅模式下的响应式编程在异步环境中对订阅关系上下文进行管理所产生的问题而给出的解决方案,Spring Framework 5.2中的响应式事务也是基于它实现的;9章将主要介绍Reactor中的测试,同时带着读者一步一步设计实现一个针对Reactor项目的测试库;10章将主要介绍Reactor中的调试,可以教会读者根据不同的需求采取不同的调试方式。本书适合有Java编程基础的中高级Java开发工程师、想要学习代码设计思路与技巧的读者、对响应式编程感兴趣的读者阅读。


知秋,本名李飞飞,simviso团队创始人,曾长期致力于基础代码库研发工作,对JDK、Spring、RJava、Spring Reactor、Netty、Reactor-Netty、RSocket等有深刻的研究和独到的见解,并以此打造“Java编程方系列丛书”。一直通过博客与视频平台bilibili(B站),结合自己的经验进行大量源码解读分享。现在主要致力于带领simviso的小伙伴引进、翻译国外高校计算机科学相关课程及国外Java开发者的技术分享内容。

关联推荐

本书适合有Java编程基础的中高级Java开发工程师、想要学习代码设计思路与技巧的读者、对响应式编程感兴趣的读者阅读。

目录


1章 响应式编程概述 1
1.1 并发与并行的关系 1
1.2 如何理解响应式编程中的背压 2
1.3 源码接口设计启示 3
1.4 如何看待众多函数表达式 11
1.5 Reactor与RJava的对比 12
1.6 小结 14
2章 对Flu的探索 15
2.1 对Flu.subscribe订阅逻辑的解读 16
2.1.1 对CoreSubscriber的解读 17
2.1.2 对LambdaSubscriber的解读 22
2.1.3 AtomicXFieldUpdater的技法应用 24
2.2 用Flu.create创建源 30
2.2.1 FluCreate细节探索 31
2.2.2 Flu的快速包装方法 36
2.2.3 Reactor 3中的generate方法 38
2.3 蛇行走位的QueueSubscription 43
2.3.1 无界队列SpscLinkedArrayQueue 44
2.3.2 QueueSubscription.requestFusion的催化效应 47
2.4 Mo的二三事 50
2.5 通过BaseSubscriber自定义订阅者 51
2.6 将常见的监听器改造成响应式结构 53
2.7 Flu.push的特殊使用场景及细节探索 56
2.8 对Flu.handle的解读 58
2.9 小结 63
3章 调度器 64
3.1 深入理解Schedulers.elastic 65
3.1.1 CachedScheduler的启示 66
3.1.2 ElasticScheduler的类定义思路 68
3.1.3 对Schedulers.decorateEecutorService的解读 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小结 82
3.2 深入解读publishOn 82
3.2.1 publishOn流程概述 82
3.2.2 对FluPublishOn的解读 85
3.3 深入解读subscribeOn 98
3.4 Flu.parallel&Flowable.parallel的并行玩法 108
3.5 ParallelFlu.runOn&ParallelFlowable.runOn的调度实现 117
3.6 小结 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 ConnectableFlu的二三事及对reactor-bug的分析 146
4.10 小结 158
5章 对Processor的探索 159
5.1 UnicastProcessor详解 160
5.2 DirectProcessor详解 164
5.3 EmitterProcessor详解 169
5.4 ReplayProcessor详解 174
5.5 小结 188
6章 TopicProcessor及Reactor中匹配Disruptor的实现代码 189
6.1 初识TopicProcessor 190
6.2 TopicProcessor构造器 195
6.3 对RingBuffer中publish方法的解读 205
6.4 对MultiProducerRingBuffer的解读 208
6.4.1 RingBuffer中的UnsafeSupport 210
6.4.2 RingBuffer中的net与publish作 216
6.5 TopicProcessor.onSubscribe及类BossEventLoopGroup的设计 221
6.6 TopicProcessor.subscribe及类WorkerEventLoopGroup的设计 225
6.7 小结 241
7章 对WorkQueueProcessor的解读 242
7.1 WorkQueueProcessor的requestTask 244
7.2 WorkQueueProcessor的subscribe 247
7.3 冷热数据源的区别 251
7.4 实例详解 252
7.5 小结 255
8章 Reactor中特供的Contet 256
8.1 Contet的设计缘由 256
8.2 对Contet的解读 258
8.3 小结 265
9章 Reactor中的测试 267
9.1 StepVerifier测试源码解析 267
9.1.1 接口定义 267
9.1.2 接口实现 269
9.1.3 验证 274
9.2 StepVerifier测试应用 275
9.3 作时间测试 278
9.4 使用StepVerifier进行后置验证 286
9.5 关于Contet的测试 289
9.6 使用TestPublisher对自定义中间作进行测试 296
9.7 使用PublisherProbe检查执行路径 305
9.8 小结 310
10章 Reactor中的调试 311
10.1 启用调试模式 311
10.2 在调试模式下读取堆栈跟踪信息 315
10.3 通过checkpoint方式进行调试 325
10.4 记录订阅关系下与作流程相关的日志 326
10.5 小结 326