-
线程和进程的概念、并行和并发的概念
-
创建线程的方式及实现
-
进程间通信的方式
-
说说 CountDownLatch、CyclicBarrier 原理和区别
-
说说 Semaphore 原理
-
说说 Exchanger 原理
-
ThreadLocal 原理分析,ThreadLocal为什么会出现OOM,出现的深层次原理
-
讲讲线程池的实现原理
-
线程池的几种实现方式
-
线程的生命周期,状态是如何转移的
-
可参考:《Java多线程编程核心技术》
锁机制
-
说说线程安全问题,什么是线程安全,如何保证线程安全
-
重入锁的概念,重入锁为什么可以防止死锁
-
产生死锁的四个条件(互斥、请求与保持、不剥夺、循环等待)
-
如何检查死锁(通过jConsole检查死锁)
-
volatile 实现原理(禁止指令重排、刷新内存)
-
synchronized 实现原理(对象监视器)
-
synchronized 与 lock 的区别
-
AQS同步队列
-
CAS无锁的概念、乐观锁和悲观锁
-
常见的原子操作类
-
什么是ABA问题,出现ABA问题JDK是如何解决的
-
乐观锁的业务场景及实现方式
-
Java 8并法包下常见的并发类
-
偏向锁、轻量级锁、重量级锁、自旋锁的概念
-
可参考:《Java多线程编程核心技术》