自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (1)
  • 收藏
  • 关注

原创 产生分布式事务的场景

只要一次业务要跨多个独立资源写入,并且你在乎一致性,就已经进入分布式事务领域了。幂等、防重、补偿、可追溯、可对账。

2026-01-12 16:28:16 499

原创 服务拆分的原则与依据

能独立演进 + 有清晰业务边界 + 不共享数据 + 改动频率一致 = 可以拆。

2026-01-12 09:06:32 655

原创 Semaphore原理与落地实战

关键词:许可证(permits)、限流/并发控制、AQS 共享锁、公平/非公平、tryAcquire 超时、泄漏防护。

2026-01-11 13:45:00 1197

原创 Phaser原理与落地实战

关键词:多阶段同步、动态注册/注销、arrive/awaitAdvance、父子 Phaser、AQS、替代 CyclicBarrier、批处理/对账/并行编排。

2026-01-11 04:34:05 950

原创 CyclicBarrier原理与落地实战

关键词:可复用屏障、ReentrantLock + Condition、最后到达者、barrierAction、超时与 broken、阶段同步。

2026-01-10 13:45:00 1720

原创 CountDownLatch原理与落地实战

关键词:AQS、共享锁、一次性闸门、并行编排、超时与降级、线程池隔离、可观测性。

2026-01-10 05:26:22 1079

原创 分布式 ID 方案(详细版)

目标:在场景下,生成、(可选)、(可选)的业务主键/流水号。

2026-01-09 16:34:52 937

原创 Java 常见加密算法全解

加密相关随机数必须用:3.1.2 AAD 是啥?为什么好用AAD(Additional Authenticated Data)= “不加密但要防篡改的头信息”。比如你把 当 AAD,攻击者就没法替换密文去骗系统。CBC 本身不提供完整性,只保证机密性。你必须:推荐:不推荐:(历史兼容场景才考虑)注意:RSA 不能加密任意长数据RSA 适合:签名用途:证明“确实是某私钥持有者签的” + 防篡改。推荐:6. 哈希(Hash)与 HMAC6.1 SHA-256(摘要)6.2 HMAC-SH

2026-01-09 11:59:09 921

原创 ArrayList 底层原理

基于动态数组(Object[])实现的可变长线性表。优点:随机访问快(O(1)),遍历快,内存连续、CPU cache 友好。缺点:中间插入/删除慢(O(n)),扩容有成本,线程不安全。比 2 倍更省内存;比固定增量更少扩容次数1.5 倍是时间与空间的折中解除引用,帮助 GC 回收对象,避免内存泄漏。

2026-01-08 18:13:39 870

原创 ConcurrentHashMap(JDK 7/8)详细介绍

目标:让你在面试里把 ConcurrentHashMap 讲“透”,包括:数据结构、并发控制、扩容、put/get 流程、JDK7 vs JDK8 差异、常见坑与高频追问。

2026-01-08 15:46:16 940

原创 HashMap 面试全攻略

HashMap 本质是空间换时间JDK 1.8 的核心升级是:红黑树尾插法高效 resize面试重点永远在:put / getresize并发问题HashMap 的精髓不是 API,而是在冲突、扩容、并发之间做工程权衡。

2026-01-07 17:51:32 710

原创 Disruptor优化电商秒杀

目标:在中,用,把“并发写库”变成“顺序写库”,稳定扛住峰值,同时保证。代码示例以为主,MQ 部分给可选落地。

2026-01-07 15:19:53 388

原创 MyBatis 如何实现“面向接口”查询

下面把这条链路拆开讲清楚。在 MyBatis 里,“面向接口”通常就是:例子:调用方:这玩意之所以能跑,是因为 其实是 动态代理对象。一次 ,大致经历:一句话:接口只是“门面”,真正干活的是动态代理 + MappedStatement + Executor。MyBatis 需要先知道:哪些接口是 Mapper。3.2 Spring Boot: 自动扫描注册(最常见)Spring 会扫描包,把接口交给 MyBatis 注册进 。 最终走到:返回的不是实现类,而是 JDK Proxy:MyBatis

2026-01-06 15:17:36 473

原创 MyBatis 分页插件实现原理(Interceptor 机制 + SQL 改写)

目标:把SELECT ...变成两件事1)可选的COUNT(*)统计总数2)真正的分页查询:MySQL 用(其他数据库用各自方言)这篇讲,以及分页插件通常拦截哪一层、怎么改 SQL、怎么处理参数、缓存、以及坑。

2026-01-06 11:52:30 1021

原创 千万级大表快速删除大量数据(MySQL)实战方案

最快:分区表删得多:新表重建 + 原子改名线上稳:分批 delete(走索引 + 限速 + 小事务)要省磁盘:重建表/新表 swap/分区 drop 才是真回收。

2026-01-05 11:48:55 1122

原创 XXL-JOB详细使用指南 + 多节点“重复消费”问题解决方案

目标:把 XXL-JOB 在 Java/Spring Boot 项目里用起来;以及。

2026-01-04 14:31:22 777

原创 mysql深度分页解决方案大全

适用场景:数据量大(百万/千万+)、分页翻到很后面(page 很大)、越来越慢。

2026-01-04 09:54:11 949

原创 Nacos配置中心优先级详解

本文直接讲,适合线上系统直接用。

2026-01-03 17:07:05 646

原创 ShardingSphere使用详解

先选好分片键:它决定你 80% 的性能上限。业务查询必须尽量带分片键:否则广播扫描就是慢。大分页别用 offset:用游标/时间/主键。JOIN 要么绑定表,要么别做。扩容要提前设计:不然重分片迁移会非常痛。强一致事务别上头:多数场景最终一致更稳。

2026-01-03 09:15:00 1470

原创 分布式ID原理与使用详解

分布式 ID 的目标是全局唯一、高性能、趋势递增。UUID 简单但无序;数据库号段通过区间分配最稳定;Snowflake 性能高但要处理时钟回拨;Redis INCR 简单但存在回退风险。

2026-01-02 14:15:00 700

原创 ReentrantLock原理与使用详解

实现。相比。

2026-01-02 10:15:00 721

原创 synchronized原理与使用详解

这份文档把讲到“你能讲清楚底层 + 能写对代码”的程度:对象头、Monitor、锁升级、wait/notify、可见性、以及工程里的坑。

2026-01-01 14:15:00 570

原创 常用限流算法详解

适用场景:API 网关 / Spring Boot 服务 / MQ 消费者 / 定时任务触发 / 防刷防爆破目标:在的前提下,给用户稳定、可预期的服务质量(SLA)。

2026-01-01 10:45:00 2100

原创 CompletableFuture 异步编程实战文档(含真实工作场景)

只处理异常,返回替代值成功/失败都处理,想统一收口就用它只做副作用(日志/埋点),不改结果CompletableFuture 本质是异步任务 + 可组合的编排 DSL业务最常用三件套:并行聚合(thenCombine / allOf)有依赖链(thenCompose)超时降级(completeOnTimeout + exceptionally)线程池治理决定你是“提速”还是“自杀”。把整体 RT 从“求和”变成“取最大”。

2025-12-31 17:32:28 1151

原创 Elasticsearch 聚合(Aggregations)详解

聚合不是 group by,是分布式分桶统计。bucket 要少,filter 要前,高基数别硬刚,真报表别指望 ES。

2025-12-30 15:30:00 1532

原创 Elasticsearch Query DSL 中 must / filter / should 详解

❌ 全部条件都放 must(性能差)❌ term 查询放 must(浪费 score)❌ 以为 should 一定要匹配(不是)❌ 忘了 minimum_should_matchmust 决定“相关性”,filter 决定“对不对”,should 决定“谁更好”。能 filter 就 filter,少算 score,ES 才跑得快。

2025-12-30 11:10:37 1165

原创 Elasticsearch 数据建模详解:nested vs parent-child

"attrs": {PUT order❌ 忘了 nested,导致条件串味❌ nested 当关系型 join 用❌ parent-child 没 routing,数据直接乱❌ parent-child 当 OLTP 用(更新风暴)nested 是“文档内一致性”,parent-child 是“文档间独立生命周期”。能用 nested 别上 join,能不用 ES 就别硬用。

2025-12-29 18:23:17 1224

原创 Elasticsearch 实际工作中的分页方案详解

前端分页用 search_after,导出用 scroll,from + size 只准用在浅分页。

2025-12-29 09:55:57 1115

原创 Spring Boot 项目使用 Elasticsearch 详细指南

目标:让你在 Spring Boot 里把 ES(Elasticsearch)用到“能跑、好用、可维护、可上线”的程度。内容包含:选型、依赖与配置、索引与 mapping、CRUD、复杂查询、聚合、分页/排序/高亮、批量、同步 MySQL、性能与坑、生产实践。

2025-12-27 16:39:13 1105

原创 Redis大Key与热点Key问题解决方案

String:value > 1MB(或更小就明显影响延迟)Hash/Set/ZSet/List:元素数量 > 1w(视业务与元素大小)单次 HGETALL/SMEMBERS/ZRANGE 结果太大(网络与序列化成本爆炸)热点 key = 单个 key 的访问 QPS 极高(例如全站配置、爆款商品、秒杀库存)。大 key:拆分 + 分页读 + UNLINK 删除热点 key:本地缓存 + 读扩散 + 逻辑过期预防 > 救火:上线前限制 key 形态和大小。

2025-12-27 10:41:19 1398

原创 一致性哈希与Redis哈希槽详解

一致性哈希把哈希空间映射成一个闭合的环节点通过hash(node)映射到环上key 通过hash(key)映射到环上Redis Cluster 定义了16384 个哈希槽一致性哈希解决“少迁移”,Redis 哈希槽解决“可控迁移 + 易运维”。

2025-12-26 14:27:13 931

原创 Redis 持久化策略(RDB / AOF / 混合持久化)详解(含选型与线上实践)

目标:把 Redis 持久化到底怎么选、怎么配、线上怎么排坑讲透。

2025-12-26 09:24:06 844

原创 Redis高可用实现详解

目标:把 Redis 怎么做到“挂一台不影响服务”、以及你线上到底该怎么选讲清楚。适用:Redis 5/6/7(命令差异不影响核心原理)。你会得到:架构原理 + 配置模板 + 运维要点 + 常见坑。

2025-12-25 14:47:26 844

原创 Redisson分布式锁原理详解

Redisson 锁是很好用的“并发闸门”,但它不是强一致事务。关键业务仍要靠:幂等 + DB 约束 + 状态机,锁只是减少冲突。

2025-12-25 09:30:59 1142

原创 缓存穿透-击穿-雪崩(含代码)详解

缓存穿透-击穿-雪崩(含代码)详解

2025-12-24 14:17:09 1017

原创 Redis与数据库双写一致性详解

Redis与数据库数据双写一致性详解

2025-12-24 11:29:53 961

原创 全网最全Redis底层实现数据结构详解

小对象/小集合:Redis 会用紧凑编码(embstr/listpack/intset)把内存压到极致规模上来:Redis 会切换到保证复杂度与可用性真正线上事故往往不是“某结构慢”,而是你对“大结构做了全量操作”。

2025-12-23 14:15:00 446

原创 Redis数据类型详解

全网最强,最详细的Redis数据类型详解

2025-12-23 09:35:32 725

原创 RocketMQ整体工作流程_详解

一篇文章通关RocketMQ整体流程

2025-12-22 13:45:00 1082

原创 RocketMQ如何保证高可用_详细实战

RocketMQ 高可用保证

2025-12-22 09:00:00 1530

Struts+hibernate经典的分页代码

比较好的实现了分页效果,非常适合初学者。

2012-09-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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