GitHub 上的今年第一本《Java 异步编程实战》美团 T9 亲荐,太赞了
异步编程是可以让程序并行运行的一种手段,可以让程序中的一个工作单元与主应用程序线程分开独立运行,进而提高应用程序的性能和响应能力等。
虽然 Java 为不同技术域提供了相应的异步编程技术,但是这些异步编程技术被散落到不同技术域的技术文档中,没有一个统一的文档对其进行梳理归纳。另外这些技术之间是什么关系,各自的出现都是为了解决什么问题,我们也很难找到相关资料来解释。
特色
本书涵盖了 Java 中常见的异步编程场景,包括单 JVM 内的异步编程、跨主机通过网络通信的远程过程调用的异步调用与异步处理,以及 Web 请求的异步处理等。
本书在讲解 Java 中每种异步编程技术时都附有案例,以理论与实践相结合的方式,帮助读者更好地掌握相关内容。书中在讲解每种异步编程技术时多会对其实现原理进行讲解,让读者知其然也知其所以然。
对于最近比较热门的反应式编程以及 WebFlux 的使用与原理解析,本书也有一定的深入探索。
内容目录
这本书的出现则是为了打破这种局面,旨在对 Java 中相关的异步编程技术进行归纳总结,为读者提供一个统一文档来查阅、参考。需要获取这份 pdf 完整版的小伙伴直接转发+关注后扫码即可获取!
章节内容展示
对于初学者,建议按照本书编写的章节顺序进行学习,因为本书是按照从易到难的顺序编写的,并且每章都有一些代码示例供大家动手实践,以便加深理解。如果你对 Java 并发编程与异步编程有一定的了解,那么可以直接从目录查看感兴趣的章节进行学习。本书共分为 9 章,内容概述如下:
第 1 章认识异步编程
第 1 章主要讲解异步编程的概念和作用,以及在日常开发中都有哪些异步编程场景。
第 2 章显式使用线程和线程池实现异步编程
第 2 章讲解最基础的显式使用线程和线程池来实现异步编程的方法,也分析了它们目前存在的缺点。
第 3 章基于 JD 中的 Future 实现异步编程
第 3 章内容比较丰富,主要讲解 JDK 中的各种 Future,包括如何使用 Future 实现异步编程及其内部实现原理,然后讲解了如何结合 JDK8Stream 和 Future 实现异步编程。
第 4 章 Spring 框架中的异步执行
第 4 章讲解 Spring 框架中提供的异步执行能力,包括在 Spring 中如何对 TaskExecutor 进行抽象,如何使用注解 @Async 实现异步编程,以及其内部实现原理。
第 5 章基于反应式编程实现异步编程
第 5 章讲解比较热门的反应式编程相关的内容,包括什么是反应式编程,如何使用反应式编程规范的库 RxJava 和 Reactor 实现异步编程。
第 6 章 Web Servlet 的异步非阻塞处理
第 6 章讲解 Web Servlet 的异步非阻塞处理,包括 Servlet 3.0 规范是如何提供异步处理能力的,Servlet 3.1 规范是如何解决 IO 阻塞问题的,以及如何在 Spring MVC 进行异步处理
第 7 章 Spring WebFlux 的异步非阻塞处理
第 7 章讲解与 Servlet 技术栈并行存在的、由 Spring5.0 提出的 SpringWebFlux 异步非阻塞处理,包括 Spring WebFlux 的由来、Spring WebFlux 的并发模型、两种编程模型,以及如何使用 Spring WebFlux 来进行服务开发、Spring WebFlux 内部的实现原理。
第 8 章高性能异步编程框架和中间件
第 8 章简要介绍了业界为方便实现异步编程而设计的一些框架和中间件,比如异步基于事件驱动的网络编程框架 Netty,高性能 RPC 框架 Apache Dubbo,高性能线程间消息传递库 Disruptor,异步、分布式、基于事件驱动的编程框架 Akka 和高性能分布式消息框架 ApacheRocketMQ。
第 9 章 Go 语言的异步编程能力
第 9 章介绍新兴的 Go 语言是如何从语言层面提供强大的异步编程能力的。
这份 287 页的《Java 异步编程实战》给大家分享出来,需要获取的可以直接转发+关注后扫码即可免费获取!
评论