运行时数据区主要分为五部分,
第一部分:程序计数器,可以看做是当前线程所执行字节码的行号知识器,线程私有;
第二部分:java虚拟机栈,描述的是java方法执行的线程模型,每个方法被执行时都会同步创建一个栈帧,用于存储局部变量表、动态连接、方法出口、操作数栈等信息。其中局部变量表用于存储编译期已知的基本数据类型、引用类型(reference类型,并不代表对象自身,可能是一个指向该对象起始内存地址的引用指针,也可能是一个指向该对象的句柄或其他和此对象相关的位置)和retrunAddress类型,是线程私有的;
第三部分:本地方法栈,和虚拟机栈高度类似,为本地native方法提供服务,是线程私有的;
第四部分:j