目录
- 为什么 HashMap 线程不安全?
- ConcurrentHashMap如何实现线程安全?
- ConcurrentHashMap为什么不允许插入null?
- 进程和线程有什么区别?
- 什么是线程通讯?如何实现线程通讯?
- 线程等待和唤醒有几种实现?
- 如何停止线程?
- 线程池有什么优点?
- 说一下线程池参数的含义
- 线程池是如何执行的?拒绝策略有哪些?
- 如何停止线程池?
- 如何判断线程池任务已执行完?
- 什么是 volatile?
- volatile 底层是如何实现的?
- 为什么单例一定要加 volatile?
- 保证线程安全的手段有哪些?
- synchronized 和 Lock 有什么区别?
- synchronized 底层是如何实现的?
- 说一下 synchronized 锁升级的流程?
- 产生死锁的条件有哪些?
- 什么是 CAS?
- 什么是 ABA 问题?如何解决?
- 什么是 AQS?