内存结构

1,程序计数器,每一个线程有一个独立程序计数器,记录java代码指令位置,执行native代码时undefined。
2,虚拟机栈,线程私有,和线程一起创建,生命周期和线程相同,基本类型和对象引用存储,每个方法一个栈帧,保存局部变量、操作数栈、方法返回值、返回地址。方法结束时,弹出返回值,清除栈帧。栈顶是正在执行的活动栈帧(当前方法)。StackOverflowError异常,oom异常。
3,方法区,线程共享,jvm加载的类元数据信息,常量池,静态变量,空间不足时oom异常。
4,堆区,线程共享,实例和数组,运行时数据区,会产生oom异常,垃圾回收区。
任重而道远
网友评论