PC寄存器用来存储指向下一条指令的地址,也就是即将要执行的指令代码。由执行引擎读取下一条指令,并执行该指令。
public class PCRegisterTest {
public static void main(String[] args) {
int i = 10;
int j = 20;
int k = i + j;
String s = "abc";
System.out.println(i);
System.out.println(k);
}
}
使用反编译:javap -v PCRegisterTest.class
左边的数字代表指令地址 (偏移地址),即 PC 寄存器中可能存储的值,然后执行引擎读取 PC 寄存器中的值,并执行该指令
使用 PC寄存器 存储字节码指令地址有什么用呢?
或者问
为什么使用 PC寄存器 来记录当前线程的执行地址呢?
PC寄存器为什么被设定为私有的?
简单一句话:宏观并行,微观并发