JVM内存结构之程序计数器 ,也叫作PC寄存器。在JVM中 PC寄存器用来存储指向下一条指令的地址, 也即将要执行的指令代码。由执行引擎读取下一条指令。

JVM内存结构之程序计计数器

 PC寄存器

  1. 它是一块很小的内存空间,几乎可以忽略不记。也是运行速度最快的存储区域。
  2. 在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。
  3. 任何时间一个线程都只有一一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的Java方法的JVM指令地址;或者,如果是在执行native方法,则是未指定值(undefned)。
  4. 它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。

PC寄存器的作用

  • CPU不停的切换线程执行,当切换回来的的时候需要通过线程的PC寄存器知道该从哪里继续执行当前线程。
  • JVM的字节码解释器需要通过修改PC寄存器的值来明确下一步该执行的指令。

注意事项

上面说了PC寄存器的所占内存很小,速度很快,作用也很单一。在PC寄存器是不会有OOM或者GC的。

标签云

ajax AOP Bootstrap cdn Chevereto CSS Docker Editormd GC Github Hexo IDEA JavaScript jsDeliver JS樱花特效 JVM Linux Live2D markdown Maven MyBatis MyBatis-plus MySQL Navicat Oracle Pictures QQ Sakura SEO Spring Boot Spring Cloud Spring Cloud Alibaba SpringMVC Thymeleaf Vue Web WebSocket Wechat Social WordPress Yoast SEO 代理 分页 图床 小幸运 通信原理

JVM内存结构之程序计数器
JVM内存结构之程序计数器