- 博客(6)
- 收藏
- 关注
原创 MySQL死锁检测机制
在高并发环境下,是数据库开发中无法回避的问题。本文将深入剖析 MySQL InnoDB 存储引擎是如何处理死锁的:它如何检测死锁?是否会自动处理?又是如何“挑选”牺牲者来终止?以及我们如何在业务开发中避免死锁的发生?
2025-07-01 22:12:57
731
原创 Redis 为什么快
综上所述,Redis 快并不是“只因为用了内存”,而是:✅ 内存存储,天然高速✅ 单线程模型,避免竞争✅ 数据结构高度优化✅ 零拷贝通信机制✅ 持久化非阻塞,灵活配置✅ 作为缓存可极大提高系统整体吞吐。
2025-06-26 23:21:31
1152
原创 MySQL为什么选择B+树
在我们日常开发中,MySQL 用得最多的存储引擎是 InnoDB,而它默认的索引结构就是B+树(B+Tree)。那么问题来了:✅ 为什么不是哈希表?✅ 为什么不是二叉树?✅ 为什么不是B树而偏偏是B+树?这篇文章,深入浅出MySQL 为什么选择了 B+树?指标是否满足?说明快速定位✅多叉树+低层级范围查询✅叶子节点链表遍历支持排序✅中序遍历天然有序IO友好✅每个节点可对应一个磁盘页插入删除效率✅平衡性强,节点分裂/合并机制成熟。
2025-06-25 22:38:20
1611
原创 CAS的原理及应用
特性说明原子性通过实现可见性value被声明为volatile无锁实现不用,效率高,支持高并发自旋重试CAS 失败会自旋直到成功(乐观锁思想)
2025-06-25 21:41:44
1655
原创 Reentrant Lock重入锁(二)AbstractQueuedSynchronizer
AQS 是 Java 并发编程中所有高级同步工具的“地基”,它隐藏了复杂的线程排队、阻塞与唤醒逻辑,开发者只需关注资源的获取与释放逻辑。
2025-06-24 23:58:19
267
原创 Reentrant Lock重入锁
重入锁(Reentrant Lock)又叫“可重入锁”,是指同一个线程可以多次获取同一个锁而不会发生死锁。(内置锁)(JUC 包中的显式锁)特性是否可重入是是加锁方式隐式(JVM 管理)显式(需要手动 unlock)中断响应不支持支持是否公平锁否支持公平/非公平条件变量支持不支持支持 Condition。
2025-06-23 21:18:10
510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅