垃圾回收 —— 判断对象已死

判断对象已死的方法有引用计数和可达性分析两种算法,本文主要讨论了可达性分析算法。涉及根节点枚举(OopMap)、安全点和安全区域、三色标记(浮动垃圾和对象消失的处理)、跨代引用的处理(记忆集和卡表)

JVM 运行时数据区

主要梳理了程序计数器、虚拟机栈、本地方法栈、方法区、堆这五个区域,外加一个直接内存。栈部分详细梳理了局部变量表、操作数栈、动态连接等,方法区梳理了运行时常量池,堆梳理了 TLAB

Raft 协议详解

详细梳理了 Raft 协议的实现原理,包括角色、选主、日志复制、日志压缩、节点动态更新、安全性等问题