程序计数器(PC寄存器)
作用:PC寄存器用来存储指向下一条指令的地址,即将要执行的指令代码。由执行引擎读取下一条指令
(
next指针)
在JVM规范中,每个线程都有自己的程序计数寄存器(很小的内存空间,运行速度快),是线程私有的,生命周期与线程的生命周期保持一致。
![在这里插入图片描述](https://img-blog.csdnimg.cn/d6c3184b3cb94559a0fb7f38d23a08af.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/5989c091660844288c6f1acd09864f67.png)
两个常见问题:
使用PC寄存器存储字节码指令地址有什么用呢?
cpu运行在不停的切换各个线程,当切换回来时需要知道接着执行哪一个。
PC寄存器为什么设定为线程私有?
为了能够准确记录各个线程正在执行的当前字节码指令地址,最好的办法就是为每一个线程分配一个PC寄存器