如图最上放代码,PrintStream out = System.out; 代码所对应的二进制字节码为0和3,当解释器执行了0,此时程序计数器储存的值变为3,以便记录下一步需要执行字节码的位置。
JVM的此功能本质上通过寄存器实现。
每个线程都有自己的程序计数器。Java中线程的时间片用完,但是run方法没有执行完,这时候也是程序计数器来记录下次线程执行的代码位置。
程序计数器不会内存溢出!