跳过正文

阿伦博客

最近的文章

从工具焦虑到认知升级:我的知识管理与博客写作转变
·2 分钟
随笔
一、背景:打破「万能工具」的迷思​ # 我曾深陷一个认知误区:执着于寻找能「一把嗦」解决所有需求的万能软件——知识库、博客、任务管理都想塞进同一个工具。实现不了时,甚至冒出自己开发的念头。直到读到 一篇Vis 软件的分享才顿悟:作者选择用 ​Vis 专注目标管理,用 ​滴答清单处理待办事项。这像一记警钟:​软件的价值在于专精而非全能。
MySQL的可重复读怎么这么坑
·5 分钟
后端 数据库 MySQL
一、线上问题:更新一个不存在的值,竟锁住“未来数据”? # 最近朋友遇到一个匪夷所思的线上故障:一条看似普通的 SQL UPDATE user SET status=1 WHERE biz_id=999(假设表中当前最大 biz_id=300),竟然导致后续所有 biz_id > 300 的插入请求全部阻塞!更夸张的是,这个操作甚至锁住了 biz_id=300(存在的记录)的插入请求。​明明更新的值不存在,为何会触发“锁扩散”?​​
深入解析ThreadLocalMap的开放地址法实现
·4 分钟
后端 框架 Java
背景 # 在前面的博客中,我们介绍了ThreadLocal的实现原理,其中最核心的部分就是ThreadLocalMap这个数据结构。我们都知道HashMap是使用红黑树或者链表来解决哈希冲突的,那么ThreadLocalMap底层又是如何处理冲突的呢?
深入剖析ThreadLocal的内存泄漏问题与弱引用的作用
·5 分钟
后端 框架 Java
背景 # 在之前的探讨中,我们已经了解了如何使用ThreadLocal。接下来,我们将深入探究为什么在实际使用中ThreadLocal无法及时释放内存,必须等到线程结束后才能释放,以及ThreadLocal中的弱引用到底起到了什么作用。
ThreadLocal 真的会导致内存泄漏吗?深入剖析使用场景与最佳实践
·3 分钟
后端 框架 Java
背景 # 在一次代码评审中,同事指出我使用 ThreadLocal 可能会导致内存泄漏,这让我大吃一惊——ThreadLocal 这么常用的工具类怎么会引发内存泄漏呢?于是我开始深入研究这个问题。
Mockito资料整理
·5 分钟
后端 框架 Java 单元测试
背景 # 网上Mockito 资料我看了一下很多都不够清晰,我总结一下我在使用 Mockito 常用的方法