文章
共 61 篇 · 在这座岛上写下的思考
🏝️
并发编程
ThreadLocal 的原理与内存泄漏
ThreadLocal 的内存泄漏,根因在于 ThreadLocalMap 的 key 是弱引用而 value 是强引用。这篇从数据结构画到引用链,讲清泄漏怎么发生、为什么 set(null) 不管用,以及线程池下为什么还会串数据。
2026-02-2321 分钟Java
🏝️
并发编程
并发容器选型:从 ConcurrentHashMap 说起
并发容器的演进主线是「不断缩小锁的粒度」:从 Hashtable 的全表锁,到 ConcurrentHashMap 的分段锁,再到桶级锁。这篇讲清它的两代实现、CopyOnWriteArrayList 的适用边界,以及一套选型对照表。
2026-02-1919 分钟Java
🏝️
并发编程
多线程的三种典型应用场景
多线程不是为了「看起来快」,它只在三类问题上真正有价值:抢资源的、跑管道的、别挡路的。这篇用秒杀库存、离线数据管道、异步日志三个场景,把线程安全、生产者-消费者、上下文传递三条主线一次讲清。
2026-02-1222 分钟Java
🏝️
并发编程
线程池参数到底怎么定:从公式到压测
核心线程数 8 还是 32?网上流传的「CPU 核数 × 2」既不是答案也不是起点。这篇给出一套四步推导法:公式定基线、压测找拐点、队列划阈值、配置中心热更新,并附上无界队列撑爆堆内存的真实教训。
2026-02-0915 分钟Java
🏝️
并发编程
Spring 事务失效的六大场景
事务失效最麻烦的地方不是报错,而是静默失效——注解照写、代码照跑,数据却已经落库了。这篇从事务赖以生效的两块基石出发,把六类失效场景的成因、复现代码和修法一次讲清。
2026-02-0514 分钟Spring
🏝️
并发编程
深入理解 CAS 与 ABA 问题
CAS 是无锁并发的基石,靠一条 CPU 原子指令完成「比较并交换」。但它有三个绕不开的坑——自旋开销、单变量限制和 ABA 问题,这篇一次讲透。
2026-02-027 分钟Java