内存区域
Java虚拟机在运行时的数据区可以分为:程序计数器、虚拟机栈、本地方法栈、方法区、堆区
程序计数器
什么是程序计数器?
当前线程正在执行字节码的行号指示器,就是说记录着当前线程正在执行的是哪一条字节码指令的地址。
作用
- 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制(顺序执行,选择,循环等等)
- 如果是在多线程的情形下,程序计数器会记录下当前线程执行到什么位置,当线程切换回来的时候就可以知道之前的线程执行到什么地方了。
特点
- 程序计数器记录的是正在执行的虚拟机字节码指令的地址
- 线程私有,也就意味着生命周期随着线程创建而创建,死亡而死亡
- Java虚拟机中唯一一个不会出现OOM的内存区域