前言:
阅读本书之前,你必须有一定的Java基础和开发经验,最好还有一定的并发编程基础。如果你是一名并发编程初学者,建议按照顺序阅读本书,并按照书中的例子进行编码和实战。如果你有一定的并发编程经验,可以把本书当做一个手册,直接看需要学习的章节。
由于篇幅限制,没有全部发出来,但是已经整理成了PDF文档,需要的关注我的公众号(Java周某人)即可免费领取
适合人群:
从JDK源码,JVM,CPU等多角度全面剖析与讲解Java并发编程的框架,原理和核心技术。
- Java开发工程师
- 架构师
- 并发编程爱好者
- 开设相关课程的大专院校师生
目录:
- 第一章 并发编程的挑战
- 第二章 Java并发机制的底层实现原理
- 第三章 Java内存模型
- 第四章 Java并发编程基础
- 第五章 Java中的锁
- 第六章 Java并发容器和框架
- 第七章 Java中的13个原子操作类
- 第八章 Java中的并发工具类
- 第九章 Java中的线程池
- 第十章 Executor框架
- 第十一章 Java并发编程实践
第一章 并发编程的挑战
1.1上下文切换
- 1.1.1多线程一定快吗
- 1.1.2测试上下文切换次数和时长
- 1.1.3如何减少上下文切换
- 1.1.4减少上下文切换实战
1.2死锁
1.3资源限制的挑战
1.4本章小结
第1章介绍Java并发编程的挑战,向读者说明进入并发编程的世界可能会遇到哪些问题,
以及如何解决。
第二章 Java并发机制的底层实现原理
2.1volatile的应用
2.2synchronized的实现原理与应用
2.3原子操作的实现原理
2.4本章小结
第2章介绍Java并发编程的底层实现原理,介绍在CPU和JVM这个层面是如何帮助Java实 现并发编程的
第三章 Java内存模型
3.1Java内存模型的基础
- 3.1.1并发编程模型的两个关键问题
- 3.1.2Java内存模型的抽象结构
- 3.1.3从源代码到指令序列的重排序
- 3.1.4并发编程模型的分类
- 3.1.5happens-before简介
3.2重排序
3.3顺序一致性
3.4volatile的内存语义
3.5锁的内存语义
3.6final域的内存语义
3.7happens-before
3.8双重检查锁定与延迟初始化
3.9Java内存模型综述
介绍深入介绍了Java的内存模型。Java线程之间的通信对程序员完全透明,内存可
见性问题很容易困扰Java程序员,本章试图揭开Java内存模型的神秘面纱。
由于篇幅限制,没有全部发出来,但是已经整理成了PDF文档,
需要的关注我的公众号(Java周某人)即可免费领取
第四章 Java并发编程基础
4.1 线程简介
4.2启动和终止线程
4.3 线程间通信
4.4线程应用实例
从介绍多线程技术带来的好处开始,讲述了如何启动和终止线程以及线程的状态,详细阐述了多线程之间进行通信的基本方式和等待/通知经典范式。
第五章 Java中的锁
5.1 Lock接口
5.2 队列同步器
5.3重入锁
5.4读写锁
5.5LockSupport工具
5.6Condition接口
介绍Java并发包中与锁相关的API和组件,以及这些API和组件的使用方式与实现细
节.
第六章 Java并发容器和框架
6.1ConcurrentHashMap的实现原理与使用
6.2 ConcurrentLinkedQueue
6.3Java中的阻塞队列
6.4Fork/Join框架
介绍了Java中的大部分并发容器,并深入剖析其实现原理,让读者领略大师的设计
技巧。
第七章 Java中的13个原子操作类
第7章介绍了Java中的原子操作类,并给出一些实例。
第8章介绍了Java中提供的并发工具类,这是并发编程中的瑞士军刀。
第9章介绍了Java中的线程池实现原理和使用建议。
第10章介绍了Executor框架的整体结构和成员组件。
第11章介绍几个并发编程的实战,以及排查并发编程造成问题的方法。
由于篇幅原因,在这就不做全部展示了,这个我已经整理成pdf文档免费分享给那些有需要的朋友
由于篇幅限制,没有全部发出来,但是已经整理成了PDF文档,
需要的关注我的公众号(Java周某人)即可免费领取
读者福利
本文这个是一个电子书的文档,免费分享给大家
另外,我还整理了一些面试题,面试题一方面是为了应对我们的面试,另一方面它可以更快的让自己了解到自己的不足,跟还需要学习的地方。
领取方式:关注我,需要的关注我的公众号(Java周某人)即可免费领取