美文网首页
JVM-程序计数器

JVM-程序计数器

作者: ssttIsme | 来源:发表于2024-01-05 17:40 被阅读0次

程序计数器也叫PC寄存器。
JVM中的程序计数寄存器(Program Counter Register)中,并非是广义上所指的物理寄存器,或将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子)。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。


作用

程序计数器用来存储下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。

  • 它是一块很小的内存空间,几乎可以忽略不计(只是存下一条指令的地址)。也是运行速度最快的存储区域。
  • 在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。
  • 任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的Java方法的JVM指令地址;或者如果是在本地方法栈执行native方法,则是未指定值``undefined`。
  • 它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都要依赖这个计数器来完成。
  • 字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。
  • 它是唯一一个在Java虚拟机规范中没有规定任何内存溢出异常OutOfMemoryError情况的区域。

相关文章

  • JVM-程序计数器

    描述 现在的操作系统都是多任务的,为了能让更多的任务能同时在系统上更好的运行,需要一个管理程序来管理计算机上同时运...

  • Java虚拟机的运行时数据区域

    Java虚拟机的运行时数据区域有程序计数器、虚拟机栈、本地方法栈、堆和方法区。 程序计数器 程序计数器,程序计数器...

  • 终于有人将jvm讲清楚了,阿里架构师推荐jvm架构解析文档

    一、JVM 内存区域划分 程序计数器(线程私有) 程序计数器(Program Counter Register),...

  • JVM系列之内存结构

    JVM区域划分 程序计数器、Java 堆、Java 虚拟机栈、元数据区和本地方法栈 程序计数器 程序计数器是当前线...

  • 十二,JVM简介

    程序计数器: 程序计数器线程私有,每一个线程都有一个程序计数器,用于记录程序运行位置,且不存在内存溢出问题。 Ja...

  • JVM内存区域划分

    JVM内存的划分有五片: 程序计数器   程序计数器(Program Counter Register),也有称作...

  • Java虚拟机(2):运行时内存结构

    线程私有数据区:虚拟机栈、本地方法栈、程序计数器; 线程共享数据区:方法区,堆。 1. 程序计数器 程序计数器(P...

  • Java程序计数器刨根问底

    JAVA虚拟机管理的内存区域图 1、什么是程序计数器? 程序计数器是当前线程正在执行的字节码的地址,程序计数器是线...

  • 图解jvm--(一)jvm内存结构

    jvm内存结构 1.程序计数器 1.1 定义 Program Counter Register 程序计数器(寄存器...

  • 深入理解JVM内存模型

    JVM 内存模型 运行时数据区域 程序计数器(Program Conunter Regisiter) 程序计数器是...

网友评论

      本文标题:JVM-程序计数器

      本文链接:https://www.haomeiwen.com/subject/jueyndtx.html