有很多小伙伴都问过我,关于java多线程的文章有pdf版本吗?我其实很想弄pdf,但是前段时间一直没时间去折腾,我把每个Java并发编程核心技术的都整理成了一个又一个的文档。昨天也是终于全部整理好了,今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好了。不多bb了,直接上干货!
每个知识点都有左侧导航书签页,看的时候十分方便**+XXX_WWW666666获取**由于内容较多,这里就截取一部分图吧。
目录:
第一篇:基础篇
-
进程与线程基本概念
-
Java多线程入i门类和接口
-
线程组和线程优先级
-
Java线程的状态及主要转化方法
-
Java线程间的通信
第⼆篇:原理篇
-
Java内存模型基础知识
-
重排序与happens-before
-
volatle
-
synchronized与锁
-
CAS与原子操作
-
AQS
第三篇:JDK⼯具篇
-
线程池原理
-
阻塞队列
-
锁接口和类
-
并发集合容器简介
-
CopyOnWrite
-
通信工具类
-
Fork/Join框架
-
Java 8 Stream并行计算原理
-
计划任务
第四章:Java线程的状态及主要转化方法
-
1.操作系统中的线程状态转换
-
2.Java线程的6个状态
-
NEW
-
RUNNABLE .
-
BLOCKED
-
WAITING
-
TIMED_ _WAITING
-
TERMINATED
-
3.线程状态的转换
-
BLOCKED与RUNNABL E状态的转换
-
WAITING状态与RUNNABLE状态的转换
-
TIMED_ _WAITING与RUNNABL E状态转换
-
线程中断

第五章:Java线程间的通信
-
锁与同步
-
等待通知机制
-
信号量
-
管道
-
其它通信相关
-
join方法
-
sleep方法
-
ThreadLocal类
-
InheritableThreadLocal
第六章:Java内存模型基础知识
-
并发编程模型的两个关键问题
-
Java内存模型的抽象结构
-
运行时内存的划分
-
既然堆是共享的,为什么在堆中会有内存不可见问题?
-
JMM与Java内存区域划分的区别与联系
第七章:重排序与happens-before
-
什么是重排序?
-
顺序一致性模型与JMM的保证
-
数据竞争与顺序一致性
-
顺序一致性模型
-
JMM中同步程序的顺序一致性效果
-
JMM中未同步程序的顺序-致性效果
-
happens-before
-
什么是happens-before?
-
天然的happens-before关系
第八章:volatile
-
几个基本概念
-
内存可见性
-
重排序
-
happens-before规则
-
2.volaile的内存语义
-
内存可见性
-
3.禁止重排序
-
volafile的用途
第九章:synchronized与锁
-
Synchronized关键字
-
几种锁
-
Java对象头
-
偏向锁
-
轻量级锁
-
重量级锁.
-
总结锁的升级流程
-
各种锁的优缺点对比
第十章:乐观锁和悲观锁
-
乐观锁与惠观锁的概念
-
CAS的概念
-
Java实现CAS的原理- Unsafe类
-
原子操作-Atomiclnteger类源码简析
-
CAS实现原子操作的三大问题
第十一章:AQS
-
AQS简介
-
AQS的数据结构
-
资源共享模式
-
AQS的主要方法源码解析
-
释放资源.
第十二章:线程池原理
-
为什么要使用线程池
-
线程池的原理
-
ThreadPollExecutor提供的构造方法
-
ThreadPoolExecutor的策略
-
线程池主要的任务处理流程
-
ThreadPollExecutor如何做到线程复用的?
-
四种常见的线程池
-
newCachedThreadPool
-
newFixedThreadPool
-
newSingleTheadExecutor
-
newScheduledThreadPool

第十三章:阻塞队列
-
阻塞队列的由来
-
BlockingQueue的操作方法
-
BlockingQueue的实现类
-
AmayBlockingQueue
-
LinkedBlockingQueue
-
DelayQueue
-
PriorityBlockingQueue
-
SynchronousQueue
-
阻塞队列的原理
-
示例和使用场景
-
生产者-消费者模型
-
线程池中使用阻塞队列

第十四章:锁接口和类
-
synchronized的不足之处
-
锁的几种分类
-
可重入锁和非可重入锁
-
公平锁与非公平锁
-
读写锁和排它锁
-
JDK中有关锁的一些接口和类
-
抽象类AQS/AQLSIAOS
-
接口Condition/LockReadWriteLock
-
ReentrantLock
-
ReentrantReadWiteLock
-
StampedLock

第十五章:并发容器集合
-
同步容器与并发容器
-
并发容器类介绍.
-
并发Map
-
并发Queue
-
并发Set
第十六章:CopyOnWite容器
-
什么是CopyOnWite容器
-
CopyOnWriteArrayList
-
CopyOnWrite的业务中实现
第十七章:通信工具类
-
Semaphore
-
Semaphore介绍
-
Semaphore案例
-
Semaphore原理
-
Exchanger
-
CounDownl atch
-
CounDownl _atch介绍
-
CountDownL atch案例
-
CountDownL atch原理
-
CyclicBarrier
-
CylicBarner介绍
-
CyclicBarrier Barier被破坏
-
CylicBarrier案例
-
CycliBarrier原理
-
Phaser
-
Phaser介绍
-
Phaser案例
-
Phaser原理

第十八章:Fork/Join框架
-
什么是ForkJoin
-
工作窃取算法
-
Fork/Jbin的具体实现
-
ForkJoinTask
-
ForkJoinPool
-
Fork/Join的使用
第十九章:Java 8 Stream并行计算原理
-
Java 8 Stream简介
-
Stream单线程串行计算
-
Stream多线程并行计算
-
从源码看Stream并行计算原理
-
Stream并行计算的性能提升