
有很多小伙伴都问过我,关于java多线程的文章有pdf版本吗?我其实很想弄pdf,但是前段时间一直没时间去折腾,我把每个Java并发编程核心技术的都整理成了一个又一个的文档。昨天也是终于全部整理好了,今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好了。不多bb了,直接上干货!
每个知识点都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图吧。
目录:


第一篇:基础篇
- 进程与线程基本概念
- 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并行计算的性能提升

本文档全面介绍了Java多线程的基础知识、核心原理及相关工具,包括线程状态及其转换、线程间通信机制、Java内存模型等,并深入探讨了synchronized、volatile、AQS等关键技术点,以及线程池、阻塞队列的应用。
1526

被折叠的 条评论
为什么被折叠?



