GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

Stella981
• 阅读 655

异步编程是可以让程序并行运行的一种手段,可以让程序中的一个工作单元与主应用程序线程分开独立运行,进而提高应用程序的性能和响应能力等。

虽然Java为不同技术域提供了相应的异步编程技术,但是这些异步编程技术被散落到不同技术域的技术文档中,没有一个统一的文档对其进行梳理归纳。另外这些技术之间是什么关系,各自的出现都是为了解决什么问题,我们也很难找到相关资料来解释。

特色

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

本书在讲解Java中每种异步编程技术时都附有案例,以理论与实践相结合的方式,帮助读者更好地掌握相关内容。书中在讲解每种异步编程技术时多会对其实现原理进行讲解,让读者知其然也知其所以然。

对于最近比较热门的反应式编程以及WebFlux的使用与原理解析,本书也有一定的深入探索。

内容目录

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

这本书的出现则是为了打破这种局面,旨在对Java中相关的异步编程技术进行归纳总结,为读者提供一个统一文档来查阅、参考。需要获取这份pdf完整版的小伙伴直接添加小助理vx:kaixindian331或·文末扫码即可获取!

章节内容展示

对于初学者,建议按照本书编写的章节顺序进行学习,因为本书是按照从易到难的顺序编写的,并且每章都有一些代码示例供大家动手实践,以便加深理解。如果你对Java并发编程与异步编程有一定的了解,那么可以直接从目录查看感兴趣的章节进行学习。本书共分为9章,内容概述如下:

第1章认识异步编程

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第2章显式使用线程和线程池实现异步编程

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第3章基于JD中的Future实现异步编程

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第4章Spring框架中的异步执行

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第5章基于反应式编程实现异步编程

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第6章Web Servlet的异步非阻塞处理

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第7章Spring WebFlux的异步非阻塞处理

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第8章高性能异步编程框架和中间件

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

第9章Go语言的异步编程能力

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

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

这份287页的《Java异步编程实战》给大家分享出来,需要获取的可以直接添加小助理vx:kaixindian331即可免费获取!

GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

 GitHub上的今年第一本《Java异步编程实战》美团T9亲荐,太赞了

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Wesley13 Wesley13
3年前
JUC并发编程之:简单概述(一)
JUC并发编程之:简单概述(一)内容概述:·进程和线程、并发和并行、同步和异步概念·如何查看和关闭进程·Java线程常用的类和方法一、概念:一、进程与线程1·进程·程序由指令和数据组成,但这些指令要运行,数据要读写,就
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这