- 博客(6)
- 收藏
- 关注
原创 Redis分布式锁的7种实现方式
本文介绍了Redis分布式锁的两种实现方式及其优缺点。第一种基于SETNX+EXPIRE的方式存在原子性问题和死锁风险,在设置锁和过期时间时可能因进程崩溃导致锁无法释放,且释放锁时可能误删他人锁。第二种更优方案使用Redis 2.6.12+的SET EX NX原子操作,结合Lua脚本实现安全的锁获取和释放,解决了原子性问题。文章通过Java代码示例展示了两种实现的具体应用场景,重点分析了高并发环境下分布式锁的关键问题和解决方案。
2025-08-27 01:37:02
582
原创 面试官:如何避免死锁?我从源码层面给你讲清楚
本文深入解析Java并发编程中的三大难题:死锁、内存泄漏和并发容器使用不当,通过真实案例(如电商平台死锁、金融系统内存泄漏)展现问题严重性。针对死锁问题,提出统一加锁顺序和超时机制两种解决方案,并给出ReentrantLock的生产级实现方案。文章还对比了synchronized与ReentrantLock的差异,分析ReentrantLock核心源码实现机制,包括非公平锁获取、CAS操作等关键细节。所有方案均附有可直接落地的代码示例,帮助开发者从根本上解决并发难
2025-08-27 00:06:06
475
原创 MySQL查询优化10大技巧,性能提升10倍
各类数据库在性能表现和适用场景上存在显著差异。以 TiDB 为例,即使不对亿级数据的关联操作添加索引或做额外优化,其在常规查询中的响应速度依然流畅,体验上较为顺畅。而某些数据库若未经调优,可能连一句简单的查询都会让人等到”怀疑人生”。正因如此,SQL 查询优化也成了面试中的高频考点——如果还不熟悉,就得靠多记录、多总结;实践中一旦遇到问题,就能凭借这套“优化指南”,按图索骥,一步步解决问题。
2025-08-26 23:01:09
1319
原创 Spring Boot和MyBatis的核心概念和实现原理
Spring Boot是基于Spring Framework的快速开发框架,遵循"约定优于配置"的理念。MyBatis是一个优秀的持久层框架,支持自定义SQL、存储过程以及高级映射。
2025-08-23 17:53:28
646
原创 RabbitMQ、Kafka和Flink的核心概念、实现原理和最佳实践
RabbitMQ是基于AMQP(Advanced Message Queuing Protocol)协议的开源消息代理软件,提供可靠的消息传递服务。Apache Kafka是一个分布式流处理平台,具有高吞吐量、低延迟、可扩展性强的特点。Apache Flink是一个分布式流处理框架,提供低延迟、高吞吐量的流处理能力。
2025-08-23 17:47:12
1183
原创 MySQL与Redis核心技术全解析
MySQL是世界上最流行的开源关系型数据库管理系统,具有高性能、高可靠性和易用性的特点。Redis是一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息代理。
2025-08-23 17:20:58
1111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅