欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Java异步编程实战/Java核心技术系列
      • 作者:翟陆续
      • 出版社:机械工业
      • ISBN:9787111642992
      • 出版日期:2020/01/01
      • 页数:273
    • 售价:31.6
  • 内容大纲

        这是一部全面解析Java异步编程的著作,针对各种常见异步编程场景,从编程语言、开发框架等角度深入讲解了异步编程的原理和方法。作者是淘宝的资深Java技术工程师,在Java异步编程、并发编程领域有深厚的积累。
        全书共9章,每章内容概括如下:
        第1~2章主要介绍了异步编程的概念、适用场景,以及如何使用线程和线程池来实现异步编程;
        第3章首先讲解JDK中的各种Future及其内部实现原理,然后讲解如何使用Future实现异步编程,以及如何结合JDK8 Stream和Future实现异步编程;
        第4章讲解了Spring框架中提供的异步执行能力,包含Spring中如何对TaskExecutor进行抽象,如何使用注解@Async实现异步编程,以及其内部实现原理;
        第5章讲解了比较热门的反应式编程相关的内容,包含什么是反应式编程,如何使用反应式编程规范的库RxJava和Reactor库实现异步编程;
        第6章讲解了Web Servlet的异步非阻塞处理,包含Servlet 3.0规范是如何提供异步处理能力的,Servlet 3.1规范是如何解决IO阻塞问题的,以及在Spring MVC中如何进行异步处理。
        第7章讲解与Servlet技术栈并行存在的、由Spring5.0提出来的Spring WebFlux的异步非阻塞处理,包含Spring WebFlux的由来、Spring WebFlux的并发模型、两种编程模型,以及如何使用Spring WebFlux来进行服务开发、Spring WebFlux内部的实现原理。
        第8章简要介绍了业界为方便实现异步编程而设计的一些框架和中间件,比如异步基于事件驱动的网络编程框架Netty,高性能RPC框架Apache Dubbo,高性能线程间消息传递库Disruptor,异步基、分布式、基于事件驱动的编程框架Akka,高性能分布式消息平台Apache RocketMQ。
        第9章介绍新兴的Go语言是如何从语言层面提供了强大的异步编程能力的。
        本书注重理论与实践相结合,且每个异步技术点都附有代码实例,帮助读者加深理解。
  • 作者介绍

        翟陆续(花名:加多)     资深Java技术工程师,就职于淘宝,有多年的Java研发经验,在Java并发编程、异步编程等方面有深入研究和积累。对JUC包源码有深入的理解,熟悉常用开源框架实现原理。     著有畅销书《Java并发编程之美》。
  • 目录

    前言
    第1章  认识异步编程
      1.1  异步编程概念与作用
      1.2  异步编程场景
      1.3  总结
    第2章  显式使用线程和线程池实现异步编程
      2.1  显式使用线程实现异步编程
      2.2  显式使用线程池实现异步编程
        2.2.1  如何显式使用线程池实现异步编程
        2.2.2  线程池ThreadPoolExecutor原理剖析
      2.3  总结
    第3章  基于JDK中的Future实现异步编程
      3.1  JDK 中的Future
      3.2  JDK中的FutureTask
        3.2.1  FutureTask 概述
        3.2.2  FutureTask的类图结构
        3.2.3  FutureTask的run() 方法
        3.2.4  FutureTask的get()方法
        3.2.5  FutureTask的cancel(boolean mayInterruptIfRunning)方法
        3.2.6  FutureTask的局限性
      3.3  JDK中的CompletableFuture
        3.3.1  CompletableFuture 概述
        3.3.2  显式设置CompletableFuture结果
        3.3.3  基于CompletableFuture实现异步计算与结果转换
        3.3.4  多个CompletableFuture进行组合运算
        3.3.5  异常处理
        3.3.6  CompletableFuture概要原理
      3.4  JDK8 Stream & CompletableFuture
        3.4.1  JDK8 Stream
        3.4.2  当Stream遇见CompletableFuture
      3.5  总结
    第4章  Spring框架中的异步执行
      4.1  Spring中对TaskExecutor的抽象
      4.2  如何在Spring中使用异步执行
        4.2.1  使用TaskExecutor实现异步执行
        4.2.2  使用注解@Async实现异步执行
      4.3  @Async注解异步执行原理
      4.4  总结
    第5章  基于反应式编程实现异步编程
      5.1  反应式编程概述
      5.2  Reactive Streams规范
      5.3  基于RxJava实现异步编程
      5.4  基于Reactor实现异步编程
      5.5  总结
    第6章  Web Servlet的异步非阻塞处理
      6.1  Servlet概述
      6.2  Servlet 3.0提供的异步处理能力
      6.3  Servlet 3.1提供的非阻塞IO能力
      6.4  Spring Web MVC 的异步处理能力
        6.4.1  基于DeferredResult的异步处理

        6.4.2  基于Callable实现异步处理
      6.5  总结
    第7章  Spring WebFlux的异步非阻塞处理
      7.1  Spring WebFlux概述
      7.2  Reactive编程 & Reactor库
      7.3  WebFlux服务器
      7.4  WebFlux的并发模型
      7.5  WebFlux对性能的影响
      7.6  WebFlux的编程模型
        7.6.1  WebFlux注解式编程模型
        7.6.2  WebFlux函数式编程模型
      7.7  WebFlux原理浅尝
        7.7.1  Reactor Netty概述
        7.7.2  WebFlux服务器启动流程
        7.7.3  WebFlux一次服务调用流程
      7.8  WebFlux的适用场景
      7.9  总结
    第8章  高性能异步编程框架和中间件
      8.1  异步、基于事件驱动的网络编程框架—Netty
        8.1.1  Netty概述
        8.1.2  Netty的线程模型
        8.1.3  TCP半包与粘包问题
        8.1.4  基于Netty与CompletableFuture实现RPC异步调用
      8.2  高性能RPC框架—Apache Dubbo
        8.2.1  Apache Dubbo概述
        8.2.2  Dubbo的异步调用
        8.2.3  Dubbo的异步执行
      8.3  高性能线程间消息传递库—Disruptor
        8.3.1  Disruptor概述
        8.3.2  Disruptor的特性详解
        8.3.3  基于Disruptor实现异步编程
      8.4  异步、分布式、基于消息驱动的框架—Akka
        8.4.1  Akka概述
        8.4.2  传统编程模型存在的问题
        8.4.3  Actor模型解决了传统编程模型的问题
        8.4.4  基于Akka实现异步编程
      8.5  高性能分布式消息框架—Apache RocketMQ
        8.5.1  Apache RocketMQ概述
        8.5.2  基于Apache RocketMQ实现系统间异步解耦
      8.6  总结
    第9章  Go语言的异步编程能力
      9.1  Go语言概述
      9.2  Go语言的线程模型
        9.2.1  一对一模型
        9.2.2  多对一模型
        9.2.3  多对多模型
        9.2.4  Go语言的线程模型
      9.3  goroutine与channel
        9.3.1  goroutine
        9.3.2  channel

        9.3.3  构建管道实现异步编程
      9.4  总结