并发编程
2020-11-15 22:54:28 21 举报
AI智能生成
Java并发编程复习提纲
作者其他创作
大纲/内容
线程的通信
wait
notify
基础认识
创建线程的方式
继承 Thread
实现Runnable 接口
实现Callable 接口
通过线程池
线程的生命周期
NEW
RUNNABLE
BLOCKED
WAITING
TIME_WAITING
TERMINATED
线程的启动原理
线程的中止
interrupt
Thread.interrupted复位
InterruptedException 异常复位
死锁/活锁
死锁发生的条件
互斥
占有且等待
不可抢占
循环等待
如何解决死锁
Thread.join
ThreadLocal
用法
ThreadLocalMap结构
原理分析
set方法最终实现
初始化ThreadLocalMap
斐波那契数列
Map不为空时执行逻辑
replaceStaleEntry
线性探测
线程同步
线程同步问题
同步锁
实例锁
类锁
互斥锁的本质
锁的存储
对象在heap中的布局
对像头与锁的存储
锁的分类
偏向锁
轻量级锁
重量级锁
volatile原理
可见性问题的引出
println
sleep
volatile关键字
汇编指令引出可见性
什么是可见性
从硬件层面谈可见性
CPU层面的高速缓存
缓存一致性及协议
总线锁&缓存锁
MESI优化带来的可见性问题
Store Bufferes
指令重排序
内存屏障禁止了指令重排序
CPU 层面的内存屏障
软件层面谈可见性
JMM(JAVA内存模型)
主内存
工作内存
JMM是解决可见性和有序性
JMM层面的内存屏障
Happens-Before模型
单线程
指令存在依赖
传递性规则
volatile变量规则
监视器规则(加锁)
Start规则
Join规则
final
Volatile的原理
0 条评论
下一页