自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除