目录
- 进程和线程有什么区别?
- 什么是虚拟线程?为什么要有虚拟线程?
- 什么是线程通讯?如何实现线程通讯?
- 说说Java中的锁机制?
- 线程等待和唤醒有几种实现?
- 如何停止线程?
- 线程池有什么优点?
- 说一下线程池参数的含义
- 线程池是如何执行的?拒绝策略有哪些?
- 说说线程池的底层工作原理?
- 如何停止线程池?
- 如何判断线程池任务已执行完?
- 为什么 HashMap 线程不安全?
- ConcurrentHashMap如何实现线程安全?
- ConcurrentHashMap为什么不允许插入null?
- 什么是 volatile?
- volatile是如何实现的?
- 为什么单例一定要加 volatile?
- 说说volatile底层实现原理?
- 保证线程安全的手段有哪些?
- synchronized 和 Lock 有什么区别?
- synchronized 底层是如何实现的?
- 说一下 synchronized 锁升级的流程?
- 产生死锁的条件有哪些?
- 什么是 CAS?
- 什么是 ABA 问题?如何解决?
- 什么是 AQS?
- 核心线程数为0时,线程池如何执行?
- 什么锁比读写锁性能更高?
- 如何实现线程任务编排?
- 为什么StampedLock会导致CPU100%?
- 说说读写锁实现原理?
- 说说volatile实现原理和应用?
- 如何实现线程池的任务编排?
- 说说停止线程池的执行流程?
- 线程池遇到未处理的异常会崩溃吗?
- 单核服务器可以不加锁吗?
- 手撕单例的5种写法!