S-16
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(超低延迟)
关联教材
以下教材与本沙盒涉及的抽象层级相关,建议系统学习:
关联教材章节
以下教材章节与本沙盒涉及的抽象层级相关,建议配合阅读:
第7章深入理解计算机系统
链接
欢迎来到灰色地带
静态链接目标文件符号解析重定位
第8章深入理解计算机系统
异常控制流
操作系统:唯一的使命就是帮助程序运行
异常进程系统调用信号
第9章深入理解计算机系统
虚拟内存
假装我们有用不完的物理内存
虚拟地址页表TLB内存映射
第10章深入理解计算机系统
系统级I/O
务必搞清楚你自己正在和整个系统的哪一层打交道
文件描述符RIO包I/O重定向
第12章深入理解计算机系统
并发编程
并发与并行,傻傻分不清楚?
线程互斥锁信号量生产者-消费者
第6章计算机系统要素
汇编器
从助记符到机器码
符号解析代码生成
第7章计算机系统要素
虚拟机(上)
栈式机器
栈操作算术指令内存访问
第8章计算机系统要素
虚拟机(下)
控制流
标签分支函数调用
第10章计算机系统要素
编译器(上)
语法分析
词法分析递归下降
第11章计算机系统要素
编译器(下)
代码生成
中间代码目标代码
第12章计算机系统要素
操作系统
让一切运转
内存管理调度文件系统
第7章数据密集型应用系统设计
事务
数据库的原子操作
ACID隔离级别快照隔离
学习路径推荐
建议按以下顺序学习,循序渐进掌握计算机科学:
前置沙盒(建议先学习)
使用说明
- •调整参数观察行为变化,实时反馈
- •状态自动编码到 URL,可直接分享给他人
- •支持键盘操作(Tab 切换、方向键调整)