这份笔记涵盖了Java中常见的异步编程场景,包括单JVM内的异步编程、跨主机通过网络通信的远程过程调用的异步调用与异步处理,以及Web请求的异步处理等。

在讲解Java中每种异步编程技术时都附有案例,以理论与实践相结合的方式,帮助读者更好地掌握相关内容。

在讲解每种异步编程技术时多会对其实现原理进行讲解,让读者知其然也知其所以然。对于最近比较热门的反应式编程以及WebFlux的使用与原理解析,也有一定的深入探索。

笔记共分为9章,内容概述如下:

第1章主要讲解异步编程的概念和作用,以及在日常开发中都有哪些异步编程场景。

 

第2章讲解最基础的显式使用线程和线程池来实现异步编程的方法,也分析了它们目前存在的缺点。

第3章内容比较丰富,主要讲解JDK中的各种Future,包括如何使用Future实现异步编程及其内部实现原理,然后讲解了如何结合JDK8Stream和Future实现异步编程。

 

第4章讲解Spring框架中提供的异步执行能力,包括在Spring中如何对TaskExecutor进行抽象,如何使用注解@Async实现异步编程,以及其内部实现原理。.

 

第5章讲解比较热门的反应式编程相关的内容,包括什么是反应式编程,如何使用反应式编程规范的库RxJava和Reactor实现异步编程。

 

第6章讲解Web Servlet的异步非阻塞处理,包括Servlet 3.0规范是如何提供异步处理能力的,Servlet 3.1规范是如何解决I0阻塞问题的,以及如何在Spring MVC进行异步处理。

第7章讲解与Servle技术栈并行存在的、由Spring5.0提出的SpringWebFlux异步非阻塞处理,包括Spring WebFlux的由来、Spring WebFlux的并发模型、两种编程模型,以及如何使用SpringWebFlux来进行服务开发、Spring WebFlux内部的实现原理。

 

第8章简要介绍了业界为方便实现异步编程而设计的一-些框架和中间件,比如异步基于事件驱动的网络编程框架Netty,高性能RPC框架Apache Dubbo,高性能线程间消息传递库Disruptor,异步、分布式、基于事件驱动的编程框架Akka和高性能分布式消息框架ApacheRocketMQ。

 

第9章介绍新兴的Go语言是如何从语言层面提供强大的异步编程能力的。

因为笔记的内容实在太多了,在此只截取部分内容展示出来。有想获取完整笔记的朋友:一键三连(点赞+收藏+关注) 后,添加微信:mxm9843 即可免费获取到