JVM-运行时数据区-PC寄存器

841 阅读1分钟

三、PC寄存器

(一)PC寄存器是什么

  • 它是程序控制流的指示器,分支、循环、跳转和异常处理等基础的操作都需要依赖它来完成

  • 字节码解释器工作时就是通过改变计数器的值来选取下一条字节码指令来执行

  • 它是唯一一块在虚拟机规范中没有规定任何OOM的区域

    作用:用来存储下一条指令的地址,可以理解成游标或者是集合里面的迭代器

image.png

(二)为什么PC寄存器要线程私有

  • 共享是为了提高空间的使用效率,而PC寄存器存储所需空间是极小的,对空间优化所占比例可以不计
  • 共享会存在争抢的问题,需要通过加锁等各种机制来解决,而PC寄存器运行是很快的,独享线程释放也会很快