前瞻
线程安全问题,需要你接触过Java Web开发、Jdbc开发、Web服务器、分布式框架时才会遇到
基于JDK8,最好对函数式编程、lambda有一定了解
给每个线程好名字,这也是一项好的实践
JUC简介
JUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包, JDK1.5开始出现的。
• 1、进程与线程
深入Java Thread底层源码实现
• 2、Lock接口
• 3、线程间通信
虚假唤醒问题
• 4、集合的线程安全
• 5、多线程锁
多线程锁的8种情况(经典8锁问题)
synchronized
Lock接口
公平锁非公平锁
可重入锁(递归锁)
锁的活跃性(死锁、活锁、饥饿)
悲观锁乐观锁
自旋锁SpinLock
锁优化(锁升级、锁粗化、锁消除)
• 6、Callable接口
• 7、JUC三大辅助类: CountDownLatch CyclicBarrier Semaphore
JUC工具类Exchanger
JUC工具类Phaser
• 8、读写锁: ReentrantReadWriteLock
StampedLock邮戳锁
• 9、BlockingQueue阻塞队列
• 10、ThreadPool线程池
• 11、Fork/Join框架
• 12、CompletableFuture
内力提升
线程中断机制interrupt
LockSupport与线程等待唤醒机制
LockSupport(park&unpark)源码解析
Java内存模型之JMM
volatile与Java内存模型
CAS源码解析
atomic
LongAdder源码解析
ThreadLocal
Java对象内存布局
AbstractQueuedSynchronizer
从ReentrantLock源码解读AQS
ReentrantLock源码解析(二)
ReentrantReadWriteLock源码解析
StampedLock源码解析
Semaphore 源码解析
CountDownLatch源码解析
CyclicBarrier源码解析
