- 博客(5)
- 收藏
- 关注
原创 JUC的基石——AQS
AQS 通过volatile 变量 + CAS + 双向队列,构建了一个强大的同步框架。它分离了同步状态的管理与线程的排队阻塞,极大地简化了并发工具的开发。掌握 AQS 有助于深入理解 JUC 组件,也是面试中的高频考点。
2026-02-25 17:45:45
839
原创 MySQL中的MVCC的实现原理
MVCC通过为每行记录维护多个版本,结合事务启动时生成的Read View,使得读操作无需加锁即可获得一致性的数据视图,极大地提升了数据库的并发性能。InnoDB利用隐藏列和undo日志实现版本链,并通过Read View的可见性规则隔离不同事务的影响,实现了RC和RR隔离级别下的非锁定读。
2026-02-22 22:11:06
826
原创 怎么保证操作的幂等性
幂等没有“一招鲜”,需要根据业务属性、并发量、一致性要求组合使用。核心思路用唯一标识 + 原子检查 + 幂等存储,将非幂等操作转化为幂等操作。先查后做要加锁,状态控制加约束,全局 ID 防重放,版本更新不冲突。
2026-02-14 16:36:42
826
原创 TCP为什么握手要三次,挥手要四次
在被动方没有数据要发时,步骤2和步骤4可以合并,被动方直接发送ACK+FIN,从而变成三次挥手。通过这种设计,TCP 在不可靠的网络上实现了可靠的端到端通信。,并同步初始序列号(防止历史连接问题)。
2026-02-11 20:50:14
668
原创 如何用Redis实现分布式锁
摘要:分布式锁用于多服务器共享资源场景,确保同一时间只有一个服务能操作资源。主流方案包括Redis(高性能但存在锁过期风险)、数据库行锁(简单但性能差)和ZooKeeper(可靠但复杂)。Redis实现要点:1) 使用SETNX原子命令创建锁;2) 设置合理过期时间防止死锁;3) 通过Lua脚本保证删锁原子性;4) 后台线程续期防止业务未完成锁过期。高级功能可扩展为可重入锁和公平锁。集群环境下需注意主从同步问题,可采用Redlock算法增强可靠性。
2026-02-07 09:00:00
869
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅