Java 并发面试题
- 什么是线程?线程与进程有何区别?
- 介绍一下Java中的线程创建方式。
- 解释一下线程的生命周期。
- 什么是线程安全?如何保证线程安全?
- 什么是同步和异步?举例说明。
- 介绍一下Java中的锁的种类及其使用场景。
- 什么是volatile关键字?它的作用是什么?
- 什么是原子性操作?Java中有哪些原子性操作?
- LockSupport 是什么?
- 什么是线程池?如何创建线程池?常见的线程池有哪些?
- 介绍一下Java中的并发容器。
- 什么是CAS(Compare and Swap)操作?它在并发编程中的作用是什么?
- 什么是AQS(AbstractQueuedSynchronizer)?它的作用是什么?可以举例说明吗?
- 介绍一下Java中的读写锁(ReadWriteLock)。
- 什么是线程的上下文切换?如何减少线程上下文切换的开销?
- 什么是Happens-Before规则?它与Java内存模型有何关系?
- 解释一下Java中的可重入锁(ReentrantLock)及其实现原理。
- 介绍一下Java中的条件变量(Condition)。
- 什么是Fork/Join框架?它的原理是什么?如何使用?
- 如何解决Java中的死锁问题?列举几种常见的死锁避免策略。
查看答案