目录
线程私有
线程私有的内存区域为程序计数器、栈、本地方法栈。
程序计数器
程序计数器存储当前程序执行的字节码行号,目的是程序切换回来的时候能回到正确位置
栈(虚拟机栈)
栈的生命周期和线程相同,一个栈里包含一个或多个帧栈,每个方法执行时都会创建一个帧栈、帧栈里存储的是局部变量表,操作数栈,方法出口和动态链接等。
本地方法栈
和虚拟机栈类似,为本地方法服务的。
线程共享
堆
存储对象和数组,是线程共享的。是GC的主要工作区域。
堆的分代和GC见另一篇博客https://blog.csdn.net/weixin_38497513/article/details/105956760
方法区
存储类信息,常量,静态变量,即时编译器编译后的结果。