您好,欢迎来到聚文网。 登录 免费注册
Java异步编程实战

Java异步编程实战

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 翟陆续
  • 出版日期: 2020-01-01
  • 商品条码: 9787111642992
  • 版次: 1
  • 开本: 16开
  • 页数: 273
  • 出版年份: 2020
定价:¥79 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
异步编程是可以让程序并行运行的一种手段,可以让程序中的一个工作单元与主应用程序线程分开独立运行,进而提高应用程序的性能和响应能力等。虽然Java为不同技术域提供了相应的异步编程技术,但是这些异步编程技术被散落到不同技术域的技术文档中,没有一个统一的文档对其进行梳理归纳。另外这些技术之间是什么关系,各自的出现都是为了解决什么问题,我们也很难找到相关资料来解释。本书的出现则是为了打破这种局面,旨在对Java中相关的异步编程技术进行归纳总结,为读者提供一个统一文档来查阅、参考。
作者简介
翟陆续(花名:加多):资深Java技术工程师,就职于淘宝,有多年的Java研发经验,在Java并发编程、异步编程等方面有深入研究和积累。对JUC包源码有深入的理解,熟悉常用开源框架实现原理。著有畅销书《Java并发编程之美》。
目录
前言
第1章认识异步编程1
1.1异步编程概念与作用1
1.2异步编程场景2
1.3总结9
第2章显式使用线程和线程池实现异步编程10
2.1显式使用线程实现异步编程10
2.2显式使用线程池实现异步编程14
2.2.1如何显式使用线程池实现异步编程14
2.2.2线程池ThreadPoolExecutor原理剖析17
2.3总结34
第3章基于JDK中的Future实现异步编程35
3.1JDK 中的Future35
3.2JDK中的FutureTask37
3.2.1FutureTask 概述37
3.2.2FutureTask的类图结构41
3.2.3FutureTask的run() 方法45
3.2.4FutureTask的get()方法48
3.2.5FutureTask的cancel(boolean mayInterruptIfRunning)方法50
3.2.6FutureTask的局限性52
3.3JDK中的CompletableFuture52
3.3.1CompletableFuture 概述52
3.3.2显式设置CompletableFuture结果54
3.3.3基于CompletableFuture实现异步计算与结果转换56
3.3.4多个CompletableFuture进行组合运算65
3.3.5异常处理68
3.3.6CompletableFuture概要原理70
3.4JDK8 Stream & CompletableFuture76
3.4.1JDK8 Stream76
3.4.2当Stream遇见CompletableFuture79
3.5总结81
第4章Spring框架中的异步执行82
4.1Spring中对TaskExecutor的抽象82
4.2如何在Spring中使用异步执行84
4.2.1使用TaskExecutor实现异步执行84
4.2.2使用注解@Async实现异步执行89
4.3@Async注解异步执行原理96
4.4总结109
第5章基于反应式编程实现异步编程110
5.1反应式编程概述110
5.2Reactive Streams规范120
5.3基于RxJava实现异步编程123
5.4基于Reactor实现异步编程133
5.5总结136
第6章Web Servlet的异步非阻塞处理137
6.1Servlet概述137
6.2Servlet 3.0 提供的异步处理能力138
6.3Servlet 3.1 提供的非阻塞IO能力145
6.4Spring Web MVC 的异步处理能力153
6.4.1基于DeferredResult的异步处理154
6.4.2基于Callable实现异步处理155
6.5总结157
第7章Spring WebFlux的异步非阻塞处理158
7.1Spring WebFlux概述158
7.2Reactive编程 & Reactor库159
7.3WebFlux服务器160
7.4WebFlux的并发模型163
7.5WebFlux对性能的影响164
7.6WebFlux的编程模型164
7.6.1WebFlux注解式编程模型165
7.6.2WebFlux函数式编程模型168
7.7WebFlux原理浅尝171
7.7.1Reactor Netty概述171
7.7.2WebFlux服务器启动流程173
7.7.3WebFlux一次服务调用流程182
7.8WebFlux的适用场景185
7.9总结186
第8章高性能异步编程框架和中间件187
8.1异步、基于事件驱动的网络编程框架——Netty187
8.1.1Netty概述187
8.1.2Netty的线程模型190
8.1.3TCP半包与粘包问题196
8.1.4基于Netty与CompletableFuture实现RPC异步调用198
8.2高性能RPC框架——Apache Dubbo209
8.2.1Apache Dubbo概述209
8.2.2Dubbo的异步调用210
8.2.3Dubbo的异步执行214
8.3高性能线程间消息传递库——Disruptor217
8.3.1Disruptor概述217
8.3.2Disruptor的特性详解220
8.3.3基于Disruptor实现异步编程223
8.4异步、分布式、基于消息驱动的框架——Akka227
8.4.1Akka概述227
8.4.2传统编程模型存在的问题228
8.4.3Actor模型解决了传统编程模型的问题232
8.4.4基于Akka实现异步编程237
8.5高性能分布式消息框架——Apache RocketMQ244
8.5.1Apache RocketMQ概述244
8.5.2基于Apache RocketMQ实现系统间异步解耦246
8.6总结254
第9章Go语言的异步编程能力255
9.1Go语言概述255
9.2Go语言的线程模型256
9.2.1一对一模型256
9.2.2多对一模型257
9.2.3多对多模型258
9.2.4Go语言的线程模型259
9.3goroutine与channel261
9.3.1goroutine261
9.3.2channel265
9.3.3构建管道实现异步编程269
9.4总结273

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网