在读完市⾯上关于Java并发编程的资料后,感觉有些知识点不是很清晰,于是展开了对Java并发编程原理的讨论。鉴于开源精神,决定将我们讨论之后的Java并发编程原理整理成电子书籍,分享给⼤家。
站在巨⼈的肩上,我们可以看得更远。本文档内容的主要来源有博客、书籍、论⽂,对于⼀些已经叙述得很清晰的知识点我们直接引⽤在本书中;对于⼀些没有讲解清楚的知识点,我们加以画图或者编写Demo进⾏加⼯;⽽对于⼀些模棱两可的知识点,本文档在查阅了⼤量资料的情况下,给出最合理的解释。
这边文档的过程也是对⾃⼰研究和掌握的技术点进⾏整理的过程,希望这份电子文档能帮助读者快速掌握并发编程技术。
第⼀篇:基础篇
第一章 进程与线程基本概念
第⼆章 Java多线程⼊⻔类和接⼝
第三章 线程组和线程优先级
第四章 Java线程的状态及主要转化⽅法
第五章 Java线程间的通信
第六章 Java内存模型基础知识
第七章 重排序与happens-before
第⼋章 volatile
第九章 synchronized与锁
第⼗章 乐观锁和悲观锁
第⼗⼀章 AQS
第⼗⼆章 线程池原理
第⼗三章 阻塞队列
第⼗四章 锁接⼝和类
第⼗五章 并发容器集合
第⼗六章 CopyOnWrite容器
第⼗七章 通信⼯具类
第⼗⼋章 Fork/Join框架
第⼗九章 Java 8 Stream并⾏计算原理
第⼆⼗章 计划任务
总目录:
以及这份多线程与高并发
这个版本主要集中在多线程和高并发这两大块,这两大块儿是现在面试问的越来越多,也是相对一个初级的程序员向中高级迈进的必须要踏过的一个坎儿。
多线程与高并发大概讲六大块,