Program Counter Register(PCR) 程序计数器
1. 每个线程有自己独立的PCR,互不影响(既线程私有的内存区域),PCR记录每个线程的信息,来达到线程切换后准确回到之前执行的位置。
2. 如果是Java方法,PCR存储当前线程执行的字节码指令的地址,如果是Native方法,PCR的值是空undefined。
3. JVM规范中没有规定任何PCR区域的OOM
JVM Stack Java 虚拟机栈
1. 与线程的生命周期相同
2. 每个方法执行时都会创建一个栈帧(Stack Frame),用于存储局部变量、操作数栈、动态链接(用于帮助JVM在程序运行期间将符号引用转化为直接引用)、