程序计数器(PC,Program Counter)是 CPU内部的一个部件,其主要功能是存放当前线程正在执行的字节码指令地址。在程序执行时,PC的初值为程序第一条指令的地址。当执行指令时,CPU会自动修改PC中的内容,即每执行一条指令,PC增加一个量,这个量等于指令所含的字节数,以便使PC总是保持执行下一条要执行的指令地址。
程序计数器是程序控制流程的指示器,分支、循环、选择、异常处理、线程恢复等基础功能都需要这个计数器来实现。在JVM中,PC是对操作系统物理PC寄存器的一种抽象模拟,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。