JVM 内存分析实验室

JvmMemoryLab

JVM 内存管理实验室。通过堆分代可视化、栈帧分析、GC 可达性分析、内存泄漏检测和 OOM 诊断,深入理解 JVM 内存机制。

JVM 内存分析: 0 / 5

挑战 1: 对象分配

观察对象在堆中的分配过程:Eden → Survivor → Old

Java 堆内存(分代结构)

Eden
288 B
5 对象
Survivor
1088 B
2 对象
Old
432 B
4 对象
总计
1808 B
11 对象
eden 区 (5 对象)
survivor 区 (2 对象)
old 区 (4 对象)

💡 JVM 内存管理核心概念

JVM 内存分为线程私有区域(程序计数器、虚拟机栈、本地方法栈)和线程共享区域(堆、方法区/元空间)。 堆是垃圾收集器管理的主要区域,采用分代收集策略。理解内存布局对于排查 OOM、优化 GC 性能至关重要。

运行时数据区
• 程序计数器(线程私有)
• 虚拟机栈(线程私有)
• 本地方法栈(线程私有)
• 堆(线程共享)
• 方法区/元空间(线程共享)
垃圾收集器
• Serial / Parallel(单/多线程)
• CMS(低延迟)
• G1(面向全堆,可预测停顿)
• ZGC / Shenandoah(超低延迟)

使用说明

  • •调整参数观察行为变化,实时反馈
  • •状态自动编码到 URL,可直接分享给他人
  • •支持键盘操作(Tab 切换、方向键调整)