Mingalaba~
这里是我在学习后端开发过程中的笔记和总结,大部分文章来源于面试准备和项目实践的深度整理。 内容涵盖 Java 基础、JVM、并发编程、MySQL、Redis、RocketMQ、Spring 全家桶、操作系统和计算机网络等方向。 每一篇都力求把一个技术点讲透彻——从"是什么"到"为什么这样设计"再到"项目里怎么用"。
如果你也在准备后端面试,或者对某个技术点想深入理解,希望这里能帮到你。
Featured
-
ThreadLocal内存泄漏的完整链路
ThreadLocal 的弱引用 key 被 GC 回收后 value 仍无法释放,详解内存泄漏完整链路及 get/set/remove 的过期清理机制。
-
AQS——JUC所有锁的共同底座
AQS 将阻塞、排队、唤醒抽离为抽象基类,子类只需定义 tryAcquire/tryRelease 语义,实现锁与同步器的统一底座。
-
synchronized锁升级机制
synchronized 根据竞争程度自动升级:无锁→偏向锁→轻量级锁→重量级锁,通过 Mark Word 编码锁状态实现无竞争零开销。
-
HashMap的哈希扰动与扩容机制
HashMap 用 h^(h>>>16) 扰动让高位参与桶定位,扩容时 hash&oldCap 一次位运算决定节点去留,尾插法消除 JDK7 死循环。
-
ConcurrentHashMap——从JDK7分段锁到JDK8桶级锁
JDK 8 ConcurrentHashMap 以桶头节点 synchronized + CAS 空桶替代 JDK 7 分段锁,多线程协助扩容,ForwardingNode 让读操作对扩容透明。
-
后端学习路线
一份面向初学者的后端技术学习指南,详细梳理了 Java 后端开发所需的基础语言、核心框架、中间件系统以及开发工具的学习顺序与心得。
Recent Posts
-
TLAB——线程本地分配缓冲如何让对象分配几乎无锁
JVM 在 Eden 区为每个线程预分配私有内存块 TLAB,让对象分配几乎无锁,解决多线程并发 new 的性能瓶颈。
-
MySQL插入意向锁——间隙锁的并发优化变体
插入意向锁是间隙锁的并发优化变体,同间隙不同位置互相兼容,仅被真正间隙锁阻塞,兼顾 RR 防幻读语义与并发插入吞吐
-
ZGC——着色指针与读屏障实现亚毫秒级停顿
ZGC 通过着色指针将 GC 元数据编码到指针中,结合读屏障实现亚毫秒级停顿,且停顿时间不随堆大小增长。
-
Redis Cluster Gossip协议——去中心化的元数据传播
深入解析 Redis Cluster 基于 Gossip 的去中心化节点发现与故障检测机制,涵盖 PING/PONG 交换、PFAIL/FAIL 两级判定与 16384 槽位设计。
-
RocketMQ DLedger——基于Raft的CommitLog多数派提交
解析 RocketMQ DLedger 如何将 Raft 共识协议嵌入 CommitLog 写入路径,以多数派提交替代异步复制实现自动故障切换,以及为什么 ConsumeQueue 不参与 Raft 同步。
-
双亲委派机制——为什么你不能自定义java.lang.String
双亲委派机制自底向上检查、自顶向下加载,保证核心类不被篡改,是 Java 类加载安全的基石。
-
中断机制详解:从硬件信号到内核处理的全链路
从硬件信号到内核处理的全链路:中断控制器、IDT、保存现场、中断处理函数、恢复返回,完整覆盖中断处理流程。
-
TCP为什么可靠传输:六大机制协同保障数据完整性
TCP 通过校验和、确认应答、重传、序列号、流量控制和拥塞控制六大机制协同保障数据无差错、不丢失、不重复、按序到达。