【零基础到精通Java合集】第二十集:Java内存模型-堆、栈、方法区
课程标题:Java内存模型——堆、栈、方法区(15分钟)
目标:理解JVM内存核心分区的作用与特性,掌握对象存储与生命周期管理机制
0-1分钟:课程引入与内存模型总览
以“仓库管理”类比内存模型:堆如大仓库存货物(对象),栈如临时货架存工具(方法调用),方法区如档案室存文档(类信息)。明确三大核心分区的作用与关联。
1-3分钟:堆(Heap)——对象生存的主战场
- 存储内容:所有对象实例、数组
- 核心特性:
- 线程共享,内存最大
- 分为新生代(Eden、Survivor区)和老年代
- 垃圾回收(GC)主要操作区域
- 代码示例:
Object obj = new Object(); // obj引用在栈,对象实例在堆
3-5分钟:栈(Stack)——方法执行的舞台
- 存储内容:局部变量、方法参数、方法调用栈帧
- 核心特性:
- 线程私有,生命周期与线程相同
- 栈帧结构:每个方法调用对应一个栈帧(局部变量表、操作数栈、动态链接、返回地址)
- 栈溢出错误:递归过深导致
StackOverflowError
- <