面试知识库

并发编程#

知识脉络#

知识点清单#

#题目频率难度状态
1synchronized原理与锁升级极高困难todo
2volatile原理极高进阶todo
3CAS原理与ABA问题极高进阶todo
4AQS原理极高困难todo
5ReentrantLock与synchronized对比极高进阶todo
6线程池核心参数与执行流程极高进阶todo
7线程池大小如何设定高进阶todo
8ThreadLocal原理与内存泄漏极高困难todo
9ConcurrentHashMap原理极高困难todo
10死锁条件与排查高进阶todo
11线程生命周期与状态转换高基础todo
12sleep与wait区别高基础todo
13CountDownLatch与CyclicBarrier高进阶todo
14CompletableFuture用法中进阶todo
15读写锁原理中进阶todo
16BlockingQueue实现原理中进阶todo
17CopyOnWriteArrayList原理中进阶todo
18Semaphore使用场景中基础todo
19线程间通信方式高基础todo
20Fork-Join框架中进阶todo
21Callable与Future中基础todo
22synchronized与Lock区别高基础todo
23偏向锁-轻量级锁-重量级锁高困难todo
24线程池拒绝策略高基础todo
25伪共享与缓存行中困难todo
26原子类与LongAdder高进阶todo
27线程中断机制高进阶todo
28创建线程的方式高基础todo
29虚拟线程中进阶todo

口诀速记#

  • 线程池参数: “核最存活队工拒(core/max/keepAlive+unit/queue/factory/handler)”
  • synchronized升级: “无偏轻重,单竞短长(偏向锁 JDK 15 默认禁用、18 移除)”
  • 死锁四条件: “互占不循(互斥/占有等待/不可抢占/循环等待)”
  • volatile: “可见有序非原子”

跨域关联#