
CountDownLatch、CyclicBarrier 与 Semaphore 的原理和使用场景
对比三个 JUC 同步工具的实现原理(AQS 共享模式/Condition/许可)、可复用性差异和典型场景,结合大数据任务编排给出落地示例。
共 11 篇文章

对比三个 JUC 同步工具的实现原理(AQS 共享模式/Condition/许可)、可复用性差异和典型场景,结合大数据任务编排给出落地示例。

讲清 ThreadLocal 的线程私有副本机制、Entry 弱引用设计导致的内存泄漏原因、线程池场景的正确用法,以及和 InheritableThreadLocal 的区别。

讲清 ThreadPoolExecutor 七个参数的任务调度流程、四种内置拒绝策略、Executors 工厂的坑,以及 IO/CPU 密集型线程数估算方法。

讲清 AQS 的 state+CLH 队列+模板方法三大核心、独占与共享两种模式,以及 ReentrantLock 公平/非公平锁在 AQS 上的实现差异。

从对象头 Mark Word 讲起,讲清 JDK 6 之后 synchronized 的四级锁升级路径、每级的实现原理和触发条件,以及与 ReentrantLock 的对比。

讲清 JMM 的主内存/工作内存抽象、volatile 保证可见性和有序性但不保证原子性的原因、内存屏障原理,以及双重检查锁的正确写法。

讲清加载-验证-准备-解析-初始化五个阶段、三层类加载器与双亲委派的工作流程和意义,以及 SPI、Tomcat 等破坏委派的实际场景。

从标记-清除、复制、标记-整理三种基础算法讲起,解释分代假说与 GC Roots,重点讲 G1 的 Region 划分、回收流程和停顿控制机制。

按线程共享/私有讲清堆、方法区、虚拟机栈、本地方法栈、程序计数器的职责,结合大数据场景说明 OOM 排查思路和常见参数。

讲清分段锁 Segment 到 CAS+synchronized 桶锁的演进逻辑、put 流程、size 统计方式变化,以及为什么读操作完全不加锁。

大数据面试 Java 必考题。讲清哈希桶数组+链表+红黑树的结构、put 流程、扩容 rehash 细节,以及树化阈值 8 和退化阈值 6 的设计原因。