一、介绍
二、作用
1.它是一块很小的内存空间,几乎可以忽略不记。也是运行速度最快的存储区域。
2.在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。
3.任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序序计数器会存储当前线程正在执行的Java方法的JVM指令地址;或者,如果是在执行native方法,则是未指定值 (undefined)
pc寄存器这块空间很小,没有垃圾回收机制,也不会发生内存溢出。
三、寄存器执行
public class Test04 {
public static void main(String[] args) {
int a=10;
int b=20;
String c="abc";
int j=a+b;
System.out.println(c);
}
}
上面类main方法对应的字节码文件:
四、两个面试问题
总结
PC寄存器可以看成像游标一样的东西,他会记录当前线程执行到哪个方法了,下一个该执行的方法时谁。