展开全部

主编推荐语

本书主要解读SpringReactor3的代码设计与实现。

内容简介

全书共10章,其中第1、2章将从接口的设计入手,逐渐深入介绍Reactor中Flux源与订阅者Subscriber的诸多交互实现细节;

第3章将通过对调度器的研究来向读者展示其中的优秀设计,可以帮助读者更好地掌握Java并发库,同时可以使读者对使用Reactor进行异步编程有更好的认识;

第4章将接触到一些常用的Reactor操作,方便读者写出可重用度高、逻辑清晰的代码;

第5、6、7章将着重分析Reactor中Processor的设计实现,不仅讲述了它的使用场景,还讲解了其中的内在原理,以及如何应对未来项目开发过程中可能遇到的种种问题;

第8章将介绍并分析Reactor特别提供的Context,这是Reactor为了应对生产-订阅模式下的响应式编程在异步环境中对订阅关系上下文进行管理所产生的问题而给出的解决方案,SpringFramework5.2中的响应式事务也是基于它实现的;

第9章将主要介绍Reactor中的测试,同时带着读者一步一步设计实现一个针对Reactor项目的测试库;

第10章将主要介绍Reactor中的调试,可以教会读者根据不同的需求采取不同的调试方式。

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

目录

  • 版权信息
  • 内容简介
  • 推荐序一
  • 推荐序二
  • 推荐序三
  • 推荐序四
  • 推荐序五
  • 推荐序六
  • 推荐序七
  • 前言
  • 第1章 响应式编程概述
  • 1.1 并发与并行的关系
  • 1.2 如何理解响应式编程中的背压
  • 1.3 源码接口设计启示
  • 1.4 如何看待众多函数表达式
  • 1.5 Reactor与RxJava的对比
  • 1.6 小结
  • 第2章 对Flux的探索
  • 2.1 对Flux.subscribe订阅逻辑的解读
  • 2.1.1 对CoreSubscriber的解读
  • 2.1.2 对LambdaSubscriber的解读
  • 2.1.3 AtomicXxxFieldUpdater的技法应用
  • 2.2 用Flux.create创建源
  • 2.2.1 FluxCreate细节探索
  • 2.2.2 Flux的快速包装方法
  • 2.2.3 Reactor 3中的generate方法
  • 2.3 蛇行走位的QueueSubscription
  • 2.3.1 无界队列SpscLinkedArrayQueue
  • 2.3.2 QueueSubscription.requestFusion的催化效应
  • 2.4 Mono的二三事
  • 2.5 通过BaseSubscriber自定义订阅者
  • 2.6 将常见的监听器改造成响应式结构
  • 2.7 Flux.push的特殊使用场景及细节探索
  • 2.8 对Flux.handle的解读
  • 2.9 小结
  • 第3章 调度器
  • 3.1 深入理解Schedulers.elastic
  • 3.1.1 CachedScheduler的启示
  • 3.1.2 ElasticScheduler的类定义思路
  • 3.1.3 对Schedulers.decorateExecutorService的解读
  • 3.1.4 对ElasticScheduler.schedule的解读
  • 3.1.5 对ElasticScheduler.DirectScheduleTask的解读
  • 3.1.6 对Schedulers.directSchedule的解读
  • 3.1.7 对ElasticScheduler.ElasticWorker的解读
  • 3.1.8 ElasticScheduler小结
  • 3.2 深入解读publishOn
  • 3.2.1 publishOn流程概述
  • 3.2.2 对FluxPublishOn的解读
  • 3.3 深入解读subscribeOn
  • 3.4 Flux.parallel&Flowable.parallel的并行玩法
  • 3.5 ParallelFlux.runOn&ParallelFlowable.runOn的调度实现
  • 3.6 小结
  • 第4章 对Reactor操作的解读
  • 4.1 filter操作
  • 4.2 transform操作
  • 4.3 compose与transformDeferred操作
  • 4.4 批处理操作
  • 4.4.1 buffer操作
  • 4.4.2 window操作
  • 4.4.3 groupBy操作
  • 4.5 merge和mergeSequential操作
  • 4.6 flatMap和flatMapSequential操作
  • 4.7 concatMap操作
  • 4.8 combineLatest操作
  • 4.9 ConnectableFlux的二三事及对reactor-bug的分析
  • 4.10 小结
  • 第5章 对Processor的探索
  • 5.1 UnicastProcessor详解
  • 5.2 DirectProcessor详解
  • 5.3 EmitterProcessor详解
  • 5.4 ReplayProcessor详解
  • 5.5 小结
  • 第6章 TopicProcessor及Reactor中匹配Disruptor的实现代码
  • 6.1 初识TopicProcessor
  • 6.2 TopicProcessor构造器
  • 6.3 对RingBuffer中publish方法的解读
  • 6.4 对MultiProducerRingBuffer的解读
  • 6.4.1 RingBuffer中的UnsafeSupport
  • 6.4.2 RingBuffer中的next与publish操作
  • 6.5 TopicProcessor.onSubscribe及类BossEventLoopGroup的设计
  • 6.6 TopicProcessor.subscribe及类WorkerEventLoopGroup的设计
  • 6.7 小结
  • 第7章 对WorkQueueProcessor的解读
  • 7.1 WorkQueueProcessor的requestTask
  • 7.2 WorkQueueProcessor的subscribe
  • 7.3 冷热数据源的区别
  • 7.4 实例详解
  • 7.5 小结
  • 第8章 Reactor中特供的Context
  • 8.1 Context的设计缘由
  • 8.2 对Context的解读
  • 8.3 小结
  • 第9章 Reactor中的测试
  • 9.1 StepVerifier测试源码解析
  • 9.1.1 接口定义
  • 9.1.2 接口实现
  • 9.1.3 验证
  • 9.2 StepVerifier测试应用
  • 9.3 操作时间测试
  • 9.4 使用StepVerifier进行后置验证
  • 9.5 关于Context的测试
  • 9.6 使用TestPublisher对自定义中间操作进行测试
  • 9.7 使用PublisherProbe检查执行路径
  • 9.8 小结
  • 第10章 Reactor中的调试
  • 10.1 启用调试模式
  • 10.2 在调试模式下读取堆栈跟踪信息
  • 10.3 通过checkpoint方式进行调试
  • 10.4 记录订阅关系下与操作流程相关的日志
  • 10.5 小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。