知识图鉴(我真的尽力清晰了)
知识点剖析
1、JAVA 并发知识库
2、JAVA 线程实现/创建方式
3、4 种线程池
Java 里面线程池的顶级接口是 Executor,但是严格意义上讲 Executor 并不是一个线程池,而
只是一个执行线程的工具。真正的线程池接口是 ExecutorService。
4、线程生命周期(状态)
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。
在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自运行,所以 CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换
5、终止线程 4 种方式
6、sleep 与 wait 区别
7、start 与 run 区别
8、后台线程
9、JAVA 锁
10、线程基本方法
11、线程上下文切换
12、同步锁与死锁
13、线程池原理
14、JAVA 阻塞队列原理
15、…………
高频面试题
Synchronized 相关问题
问题一: Synchronized 用过吗, 其原理是什么?
问题二: 你刚才提到获取对象的锁, 这个“ 锁” 到底是什么? 如何确定对象的锁?
**问题三: 什么是可重入性, 为什么说 Synchronized 是可重入锁? **可 重 入 性
问题四: JVM 对 Java 的原生锁做了哪些优化?
问题五: 为什么说 Synchronized 是非公平锁?
问题六: 什么是锁消除和锁粗化?
问题七: 为什么说Synchronized是一个悲观锁? 乐观锁的实现原理又是什么? 什么是CAS, 它有什么特性?
问题八: 乐观锁一定就是好的吗?
可 重 入 锁 ReentrantLock 及 其 他 显 式 锁 相 关 问 题:
Java 线程池相关问题
Java 内存模型相关问题
Java并发编程实战(中文版)
清晰的知识图谱(原图)、完整知识点剖析(PDF文档)、高频面试题+答案(PDF文档)、Java并发编程实战(PDF文档),这些资料都免费送哦,正在为面试准备或准备重温知识提升自我的小伙伴> 内容太多,就不一一列举了,需要完整文档的伙伴加Q群(668470172)备注简书即可免费获取全套并发编程资料!