线程的基础知识
面试题1:线程与进程的区别?
面试题2:并行和并发有什么区别?
面试题3:创建线程的方式有哪些?
面试题 4:runnable 和 callable 有什么区别?
面试题5:线程的 run()和 start()有什么区别?
面试题6:线程包括哪些状态,状态之间是如何变化的?
面试题7:新建 T1、T2、T3 三个线程,如何保证它们按顺序执行?
面试题8:notify()和 notifyAll()有什么区别?
面试题9:在java中wait和sleep方法的不同?
面试题10:如何停止一个正在运行的线程?
线程中并发安全
面试题1:synchronized关键字的底层原理
面试题2:Monitor实现的锁属于重量级锁,你了解过锁升级吗?
面试题3:你谈谈 JMM(Java内存模型)
面试题4:CAS你知道吗?
面试题5:请谈谈你对 volatile 的理解?
面试题6:什么是AQS?
面试题7:ReentrantLock的实现原理
面试题8:synchronized和Lock有什么区别 ?
面试题9:死锁产生的条件是什么?
面试题10:聊一下ConcurrentHashMap
面试题11:导致并发程序出现问题的根本原因是什么?(Java程序中怎么保证多线程的执行安全)
线程池
面试题1:说一下线程池的核心参数(线程池的执行原理知道嘛)
面试题2:线程池中有哪些常见的阻塞队列
面试题3:如何确定核心线程数?
面试题4:线程池的种类有哪些?
面试题5:为什么不建议用Executors创建线程池
线程池使用场景
面试题1:如何控制某个方法允许并发访问线程的数量
面试题2:谈谈你对ThreadLocal的理解