- 博客(77)
- 资源 (1)
- 收藏
- 关注
原创 mysql乐观锁和悲观锁
对比维度悲观锁乐观锁冲突假设相信“会冲突”相信“很少冲突”控制方式先加锁,再操作不加锁,提交时校验版本读写关系写时阻塞其他读/写(视锁类型而定)读写通常不互相阻塞失败代价一般不会失败(除死锁或异常)可能更新失败,需要重试或提示实现位置多在数据库层(行锁、表锁等)多在业务/应用层(version 字段、CAS 等)
2025-12-14 10:49:21
921
原创 MySQL事务的原理ACID
在 MySQL(主要指 InnoDB 引擎)中,**事务(Transaction)**就是:一组要么全部成功、要么全部失败的操作。典型例子:转账A 给 B 转 100 元:1)A 账户减 1002)B 账户加 100这两个更新必须要么都成功,要么都不生效,否则就会出现“钱凭空出现或消失”的情况。事务就是为了保证这类操作的整体性和安全性。ACID。事务是什么?一组操作的逻辑整体,要么全部成功、要么全部失败。为什么能回滚?因为有undo log,记录了修改前的值。为什么不会互相乱改?因为有锁。
2025-12-12 09:59:26
964
原创 MySQL主从同步原理
核心机制主库写binlog;从库 I/O 线程从主库拉 binlog 写入relay log;从库 SQL 线程从 relay log 中重放事件。复制模式默认是异步复制(主库不等从库);可配置半同步复制提高数据安全;理论上的全同步复制通常不用。位置识别传统:binlog 文件名 + pos;GTID,按事务 ID 维度管理复制。典型用法读写分离(主写从读);高可用 + 故障切换(主挂从顶上)。问题与处理复制延迟不可避免,只能尽量优化;对强一致读:写后读走主库;监控。
2025-12-11 09:39:22
834
原创 mysql索引结构&&为什么不用哈希作为主力索引
在 InnoDB 存储引擎中,绝大多数索引(主键索引、唯一索引、普通索引、联合索引)的底层结构都是。
2025-12-09 16:26:30
711
原创 MySQL索引,以及它们的好处和坏处
索引是用空间换时间的结构,本质是“有序的数据结构(B+Tree 为主)”;好处:查得快、能帮助排序/分组、支持唯一约束、让优化器更聪明;坏处:写入变慢、占空间、可能被错误使用,还要持续维护;正确的姿势:以读写比例为前提,平衡索引数量与类型;理解最左前缀、覆盖索引等核心概念;用EXPLAIN验证执行计划。合理设计索引是 MySQL 性能优化中最重要的一块,后续可以结合你项目里的具体表结构,一起设计一套“索引方案 + SQL 例子 + EXPLAIN 分析”。
2025-12-09 13:57:14
716
原创 Java 中已经有 synchronized,为什么还要提供 Lock?
维度Lock(如实现层JVM 关键字Java 层接口 + 实现类可重入支持支持(公平锁不支持支持(构造函数可选公平)可中断获取锁不支持支持尝试/超时获取锁不支持支持tryLock()条件队列只有一个(支持多个Condition读写锁 / 乐观读不支持支持(性能JDK8 之后整体很优秀,大量优化实现灵活,部分场景性能更好锁释放自动(离开作用域)手动unlock(),易出错使用难度简单,适合一般业务逻辑较复杂,适合框架 / 中间件 / 高级并发控制能用。
2025-12-03 17:46:56
811
原创 自定义限流方案(基于 Redis + 注解)
*** 限流的时间窗口,单位:秒* 比如 60 就是 60 秒内最多 N 次*//*** 时间窗口内允许的最大访问次数*//*** 限流的 key,默认空表示自动生成(类名#方法名)* 可以写上 "#ip" 表示按 IP 限流(在切面里处理)*//*** 是否按 IP 维度限流*/
2025-11-12 09:27:49
483
原创 Zookeeper 分布式锁实战版
想快:用 Curator 的想懂:看原生“临时顺序节点 + 监听前驱”想稳:锁路径分业务 + finally 释放 + 超时兜底。
2025-11-09 08:53:33
1428
原创 统一发包管理(Maven 仓库)详细步骤
适用于希望在公司/团队内部统一管理 Java 构件(JAR、POM、源码包)、实现统一依赖来源、防止“本地有但别人拉不到”的情况,并方便与 CI/CD 对接的场景。下面以为例说明,也可替换为 JFrog Artifactory、阿里云制品库等。
2025-11-08 08:14:57
700
原创 一篇文章让你打通nginx的任通二脉
Nginx(Engine X)是一款高性能的 Web 服务器、反向代理服务器及邮件代理服务器。以轻量、高并发、稳定著称,被广泛用于网站架构中。
2025-11-06 12:55:01
427
原创 Spring Boot 统一异常处理,这样写才优雅!
统一异常处理不是简单捕获,而是构建"可维护、可追踪、可演化"的错误体系。优雅的开发者,不仅要让代码能跑,还要让错误能"说话"。🚀。
2025-10-29 09:00:00
834
原创 annotation-logging-guide
Loggable/** 是否记录入参 *//** 是否记录返回值 *//** 业务标签,便于筛选 */可作用于类或方法;方法优先级高于类。
2025-10-28 18:08:16
790
原创 SpringBoot两级缓存实现
本方案实现: - ✅ 高性能读写路径(Caffeine + Redis)\✅ 简洁无侵入整合 Spring Cache\✅ 支持多实例缓存一致性广播\✅ 可自由扩展到多级缓存或多数据源缓存场景推荐使用场景:高并发读多写少的服务,如用户资料、配置中心、商品详情、字典表等。标签:Spring Boot|Redis|Caffeine|缓存一致性|分布式缓存。
2025-10-25 09:47:36
219
原创 SpringBoot2_Nacos_DynamicTp教程
基于 Spring Boot 2.x + Nacos 的 DynamicTp(Dromara)详细接入步骤,按“依赖 → Nacos 配置 → 应用配置 → 启动注解/代码使用 → 监控与告警 → 常见坑”组织。所用版本与示例均以官方文档的最新稳定说明为准(1.2.2 线)
2025-10-25 06:31:40
705
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1