自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Kafka详解,读这一篇就够了

HW 截断 + Leader 切换的组合在某些时序下会丢数据或日志不一致数据丢失场景:副本 A 落后但被踢出 ISR,期间 HW 已推进,A 重新加入后按 HW 截断,丢失本该保留的数据KIP-101 引入:每个 Leader 任期一个 epoch 号 + 起始 offset,Follower 重连时先查 epoch 校验"这段日志在哪个 Leader 任期是否有效",按 Leader Epoch 而不是 HW 截断——彻底修复,面试讲这个是深度信号。

2026-10-03 22:55:49 227

原创 RabbitMq知识,看这一篇就够了

且脑裂处理(

2026-10-02 10:14:17 405

原创 RocketMq详解 读这一篇就够了

fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;mmap PageCache 或 DirectByteBufferReputMessageService (~1ms 异步分发)ReputMessageService (~1ms 异步分发)定位 → commitLogOffsetProducer 发送CommitLog 顺序写磁盘。

2026-10-02 09:58:13 381

原创 JVM 分代 ZGC 深度解析:从染色指针到双代并发回收

单代 ZGC 解决了“停顿与堆大小无关”,分代 ZGC 在此基础上解决了“GC 的 CPU 开销与堆大小成比例”的问题——用弱分代假设把绝大多数回收工作压缩到一个小得多的年轻代里完成。

2026-10-01 11:17:17 370

原创 JVM ZGC 垃圾回收器深度解析

G1/CMS 用的是写屏障(在引用赋值时拦截,维护卡表/RSet),因为它们要解决的是"引用关系变了,我该记录谁"。对象可能已被搬走,我读到的指针可能是过期的——所以拦截点必须在读引用的动作上。每当业务线程执行从堆中加载一个对象引用obj.field// 伪代码// 1. 加载引用= 预期颜色) { // 2. 检查染色位(一次寄存器位测试,几条指令)// 3. 过期 → 进入慢路径// 继续使用 ref(保证一定是"好"颜色)把 STW 的工作一项一项搬到并发世界。

2026-10-01 10:38:07 365

原创 JVM G1(Garbage First)垃圾回收器深度解析

Region 化让"部分回收"成为一等公民——不再"要么不收、要么整代收",任意子集都可以成为回收集,这是可控停顿的物理基础SATB + RSet 让并发标记和部分回收在工程上可行——代价是更多浮动垃圾和 RSet 内存/写屏障开销,G1 用这些换来了停顿可控预测模型让停顿从"碰运气"变成"谈条件"——运维第一次可以对 JVM 说"我要 XX ms 的停顿",JVM 用缩小回收范围来兑现。

2026-09-30 19:39:59 256

原创 JVM CMS 垃圾回收器深度解析

JVM CMS垃圾回收器深度解析

2026-09-30 19:27:02 512

空空如也

空空如也

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

TA关注的人

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