阿里P8架构师谈:Java并发编程实战

本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。
传送门:https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ

前言

并发编程是Java语言的重要特性之一, 在Java平台上提供了许多基本的并发功能来辅助开发多线程应用程序。然而,这些相对底层的并发功能与上层应用程序的并发语义之间并不存在一种简单而直观的映射关系。因此,如何在Java并发应用程序中正确且高效地使用这些功能就成了Java开发人员的关注重点。

本书介绍

全书内容由浅入深,共分为四个部分。第一部分介绍了Java并发编程的基础理论,包括线程安全性与状态对象的基础知识,如何构造线程安全的类并将多个小型的线程安全类构建成更大型的线程安全类,以及Java平台库中的一些基础并发模块:第二部分介绍了并发应用程序的构造理论,包括应用程序中并行语义的分解及其与逻辑任务的映射,任务的取消与关闭等行为的实现,以及Java线程池中的一些高级功能,此外还介绍了如何提高GUI应用程序的响应性:第三部分介绍了并发编程的性能调优,包括如何避免活跃性问题,如何提高并发代码的性能和可伸缩性以获得理想的性能,以及在测试并发代码正确性和性能时的一些实用技术:第四部分介绍了Java并发编程中的一些高级主题,包括显式锁、原子变量.非阻塞算法以及如何开发自定义的同步工具类等。

本书适合Java程序开发人员阅读。

如何使用本书

为了解决在Java底层机制与设计级策略之间的不匹配问题,我们给出了一组简化的并发程序编写规则。专家看到这些规则会说:“嗯,这并不是完整的规则集。即使类C违背了规则R,它仍然是线程安全的。”虽然在违背一些规则的情况下仍有可能编写出正确的并发程序,但这需要对Java内存模型的底层细节有着深入的理解,而我们希望开发人员无须掌握这些细节就能编写出正确的并发程序。只要始终遵循这组简单的规则,就能编写出正确的并且可维护的并发程序。

第1章简介

 

 

 

基础知识

第一部分(第2章~第5章)重点介绍了并发性和线程安全性的基本概念,以及如何使用类库提供的基本并发构建块来构建线程安全类。在第一部分给出了一个清单, 其中总结了这一部分中介绍的最重要的规则。第2章与第3章构成了本书的基础。在这两章中给出了几乎所有用于避免并发危险、构造线程安全的类以及验证线程安全的规则。

 

第2章 线程安 全性

 

 

 

 

第3章 对象的共享

 

 

第4章 对象的组合

 

 

 

 

第5章 基础构建模

 

 

 

 

第二部分

但在开始编写任何并发代码之前,一定要回来读一读这两章!第4章介绍了如何将一些小的线程安全类组合成更大的线程安全类。"第5章介绍了在平台库中提供的一些基础的并发构建模块,包括线程安全的容器类和同步工具类.结构化并发应用程序。第二部分(第6章~第9章)介绍了如何利用线程来提高并发应用程序的吞吐量或响应性。第6章介绍了如何识别可并行执行的任务,以及如何在任务执行框架中执行它们。第7章介绍了如何使任务和线程在执行完正常工作之前提前结束。在健壮的并发应用程序与看似能正常工作的应用程序之间存在的重要差异之一就是,如何实现取消以及关闭等操作。第8章介绍了任务执行框架中的一些更高级特性。第9章介绍了如何提高单线程子系统的响应性。活跃性、性能与测试。

第6章 任务执行

 

 

 

第7章 取消与关闭

 

 

 

 

 

第8章 线程池 的使用

 

 

 

第9章 图形用户界面 应用程序

 

 

 

 

 

第三部分

(第10章~第12章)介绍了如何确保并发程序执行预期的任务,以及如何获得理想的性能。第10章介绍了如何避免一些使程序无法执行下去的活跃性故障。第11章介绍了如何提高并发代码的性能和可伸缩性。第12章介绍了在测试并发代码的正确性和性能时可以采用的一些技术。

第10章 避免活跃性危险

 

 

 

第11章 性能与可伸缩性

 

 

 

 

第12章 并发程序的测试

 

 

 

高级主题

第四部分(第13章~第16章)介绍了资深开发人员可能感兴趣的一些主题,包括:显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

第13 章显式锁

 

 

 

第14章 构建自定义的同步工具

 

 

 

 

第15章 原子变量与非阻塞同步机制

 

 

 

 

第16章 Java 内存模型

 

 

阿里P8架构师谈:Java并发编程实战

全文结束