美文网首页
程序计数器

程序计数器

作者: 百事可乐丶 | 来源:发表于2020-05-07 16:44 被阅读0次

说明

在程序运行中,会产生很多个线程,cpu会高速在这些线程中切换,并不是串行执行的,并发执行,多核cpu会产生并行执行,当cpu切换回来执行A线程的时候,需要告诉它当前线程执行到哪一步,具体到具体的结构就是,该栈顶栈帧里面代码到的位置

作用

1.它是一块很小的内存空间,几乎可以忽略不计。也是运行速度最快的存储区域

2.在jvm规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致

3.任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的java方法的JVM指令
地址;或者,如果实在执行native方法,则是未指定值(undefined),因为程序计数器不负责本地方法栈。

4.它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成

5.字节码解释器工作时就是通过改变这个计数器的值来选取吓一跳需要执行的字节码指令

6.它是唯一一个在java虚拟机规范中没有规定任何OOM(Out Of Memery)情况的区域,而且没有垃圾回收

相关文章

  • 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) 程序计数器是...

  • Java运行时数据区

    程序计数器,虚拟机栈,本地方法栈,堆,方法区。 1.程序计数器(线程私有) 程序计数器是一块较小的内存空间,他可以...

网友评论

      本文标题:程序计数器

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