1 栈
局部变量表
存放局部变量
局部变量表中的对象 是指向堆中对象的地址
操作数栈
方法内的数据计算
程序计数器
程序一行代码运行后 存放下一行代码的地址
本地方法栈
方法用native修饰
动态链接
符号引用转化为直接引用 直接引用为方法区的具体地址
方法出口
2 堆
新生代
伊甸园区 8 s0区1 s1区1
伊甸园区满了 会执行 minor gc
老年代
新生代没被回收 分代年龄+1 分代年龄到15 就会变为老年代
老年代满了 会执行 full gc 如果还是放不下 会报错 oom
可达性分析
gcroot
从对象表找所有能引用到的对象 其他找不到的都是垃圾对象 直接清理
3 方法区
类信息
常量
静态变量