volatile 到底能保证什么 # Java 内存模型简单说 # 聊 volatile 之前,得先说说 Java 内存模型(JMM)。放心,不讲太深,够理解 volatile 就行。
·214 字·2 分钟
线程池这玩意,用不好真的会出事 # 上周实验室项目出了个线上问题,排查了一下午发现是线程池配置不对导致的 OOM。这事让我意识到,线程池看着简单,用不好是真会出事的。
为什么要用线程池 # 你可能觉得,new 一个 Thread 跑任务不就完了?能跑,但有几个问题:
·223 字·2 分钟
ConcurrentHashMap 到底怎么保证线程安全的 # 上篇写了 HashMap,有同学私信问我 ConcurrentHashMap 和 HashMap 有什么区别。其实吧,区别大了去了,JDK8 的 ConcurrentHashMap 基本是重写的,跟 JDK7 完全两个思路。
花了差不多一周把源码理清楚,这篇来聊聊它到底怎么在并发场景下保证线程安全。
JDK7 的 Segment 分段锁 # 先说 JDK7 的方案,面试还是会问。