JVM运行时数据区学习一:程序计数器(PC寄存器)

我们先来看看运行时数据区包括哪些东西:
JVM运行时数据区学习一:程序计数器(PC寄存器)
今天总结一下 运行时数据区的程序计数器(Program Counter Register):

每一个Java线程都有一个程序计数器来用于保存程序执行到当前方法的哪一个指令,对于非Native方法,这个区域记录的是正在执行的VM原语的地址,如果正在执行的是Natvie方法,这个区域则为空(undefined)。此内存区域是唯一一个在VM Spec中没有规定任何OutOfMemoryError情况的区域。

可以理解为,记录下一步指令,然后发送给执行引擎,然后给cpu进行执行的命令
我们看字节码就知道了:
JVM运行时数据区学习一:程序计数器(PC寄存器)
左边的0 1 4这些就是指令,他就会通过程序技术器来发送给执行引擎去执行程序

并且程序技术器是不会发生 OOM和 GC的区域,因为他很小就只是记录指令而已。