程序计数器

news2024/11/16 3:30:41

程序计数器

JVM中的程序计数器(Program Counter Register)并非是广义上所指的物理寄存器,是对物理PC寄存器的一种抽象模拟
在这里插入图片描述

  • PC寄存器(程序计数器)

    • PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。

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

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

    • 任何时间一个线程都只有一个方法在执行,也就是所谓的当前方法。程序计数器会存储当前线程正在执行的Java方法的JVM指令地址;或者没如果是在执行native方法,则是未指定值(undefned)。

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

    • 字节码解释权工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。

    • 它是唯一个在Java虚拟机规范中没有规定任何OutOtMemoryError情况的区域。

    • 常见问题

      • 使用PC寄存器存储字节码指令地址有什么用呢?

        因为CPU需要不停的切换各个线程,这时候切换回来以后,就得知道接着从那开始继续执行。

      • 为什么使用PC寄存器记录当前线程的执行地址呢

        JVM的字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。

      • PC寄存器为什么会被设定为线程私有?

        • 所谓的多线程在一个特定的时间段内只会执行其中某一个线程的方法,CPU会不停地做任务切换,这样必然导致经常中断或恢复,如何保证毫无差距么?

          为了能够准确地记录各个线程正在执行的当前字节码指令地址,为某一个线程都分配一个PC寄存器,这样一来各个线程之间便可以独立进行计算,从而不会出现向好干扰的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器人在果园内行巡检仿真

文章目录 创建工作空间仿真果园场景搭建小车模型搭建将机器人放在仿真世界中创建工作空间 mkdir -p ~/catkin_ws/src cd ~/catkin_ws仿真果园场景搭建 cd ~/catkin_ws/src git clone https://gitcode.com/clearpathrobotics/cpr_gazebo.git小车模型搭建 DiffBot是一种具有两个…

视频技术2:把rtsp转为各种格式,包括webrtc

前题是启动ABLMediaServer,把ini里的hls_enable1 1、添加rtsp到视频服务器 http://127.0.0.1:7088/index/api/addStreamProxy?secret035c73f7-bb6b-4889-a715-d9eb2d1925cc&vhost_defaultVhost_&appMedia&streamCamera_00001&enable_hls1&ur…

HTML5+CSS3小实例:具有悬停效果的3D闪耀动画

实例:具有悬停效果的3D闪耀动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, init…

电学基础知识

目录 电流 前言 电流的产生 电流的单位安培&#xff08;A&#xff09; 电路和电池 开路和闭路 电灯泡原理 对电池容量的理解 毫安时 毫瓦时 直流电和交流电 AC交流电 DC直流电 直流电和交流电对比 电压 对电器的电压和电流的理解 电阻 电压电阻电子的关系 欧…

Vulnhub - Raven2

希望和各位大佬一起学习&#xff0c;如果文章内容有错请多多指正&#xff0c;谢谢&#xff01; 个人博客链接&#xff1a;CH4SER的个人BLOG – Welcome To Ch4sers Blog Raven2 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/raven-2,269/ 0x01 信息收集 Nmap扫描…

DC-DC 变换集成电路芯片MC34063A,内含温度补偿的参考电压源(1.25V)、比较器、能有效限制电流及控制工作周期的振荡器,驱动器及大电流输出开关管等

MC34063A 为一单片 DC-DC 变换集成电路&#xff0c;内含温度补偿的参考电压源&#xff08;1.25V&#xff09;、比较器、能有效限制电流及控制工作周期的振荡器&#xff0c;驱动器及大电流输出开关管等。外配少量元件&#xff0c;就能组成升压、降压及电压反转型 DC-DC 变换器。…

三菱FX3U/FX5U的采集方式有哪些?如何快速采集?

在工业自动化领域&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09;扮演着至关重要的角色。三菱FX3U和FX5U作为三菱电机公司推出的两款经典PLC产品&#xff0c;广泛应用于各种工业自动化控制系统中。为了更好地实现对这些PLC设备的数据采集与远程控制&#xff0c;我们引…

危险废物处理不容忽视,环保企业责任在肩|中联环保圈

铝熔炼企业产生的大量铝灰渣&#xff0c;属于危险废物&#xff0c;其处理问题引起了广泛关注。在江西省抚州市&#xff0c;生态环境局副局长祝志辉强调&#xff1a;“铝灰渣的处理必须委托有资质的第三方进行。”他进一步解释说&#xff0c;铝灰的主要成分为金属铝和铝氧化物&a…

软考真题详解-系统架构设计师-计算机基础知识(1)

题目1&#xff1a;计算机系统中硬件层之上的软件通常按照三层来划分&#xff0c;如下图所示&#xff0c;图中①②③分别表示&#xff08;1&#xff09;。 A.操作系统、应用软件和其他系统软件 B.操作系统、其他系统软件和应用软件 C.其他系统软件、操作系统和应用软件 D.应…

递推算法C++

所谓递推&#xff0c;是指从已知的初始条件出发&#xff0c;依据某种递推关系&#xff0c;逐次推出所要求的各中间结果及最后结果。其中初始条件或是问题本身已经给定&#xff0c;或是通过对问题的分析与化简后确定。从已知条件出发逐步推到问题结果&#xff0c;此种方法叫顺推…

第一阶段回顾

一、IP、网络等初步认知 L1~L3&#xff08;物理层到网络层&#xff09;以及端到端如何走&#xff1f;&#xff01; 1.1 OSI七层参考模型 方向 方向分为上下和左右 上下流向&#xff08;南北&#xff09;&#xff1a; 左右流向&#xff08;南北流向&#xff09;&#xff1a; 注意…

堆叠与集群

8.1堆叠与集群概述 随着企业的发展&#xff0c;企业网络的规模越来越大&#xff0c;这对企业网络提出了更高的要求&#xff1a;更高的可靠性、更低的故障恢复时间、设备更加易于管理等。传统的园区网高可靠性技术出现故障时切换时间很难做到毫秒级别、实现可靠性的方案通常为一…

高架学习笔记之信息系统分类概览

目录 零、前言 一、业务处理系统(TPS) 概念 功能 特点 二、管理信息系统(MIS) 概念 功能 组成 三、决策支持系统(DSS) 概念 功能 特点 组成 1. 数据仓库 2. 数据挖掘工具 3. 决策模型 4. 可视化界面 四、专家系统(ES) 概念 特点 组成 求解过程 专家系统…

开箱即用之 windows部署jdk、设置nginx、jar自启

jdk安装 官网下载对应的安装包&#xff0c;解压之后放在本地指定的文件夹下 传送门https://www.oracle.com/java/technologies/downloads/#jdk21-windows 我比较喜欢下载zip方式的&#xff0c;解压之后直接能用&#xff0c;不需要安装了 配置环境 JAVA_HOME 添加path路径 …

蓝桥杯-Sticks-DFS搜索

题目 样例输出是 6 5 题目中给错了&#xff0c;不知道什么时候会改。 思路 --剪枝&#xff0c;否则时间复杂度和空间复杂度过大&#xff0c;会超时。 --注意有多组测试样例时&#xff0c;需要将bool数组重新赋值为false。 --函数类型不是void&#xff0c;return语句不能省…

倍思、南卡、Cleer开放式耳机好用吗?深度测评行业精品!

​作为一名资深数码评测博主&#xff0c;我拥有五年的行业经验&#xff0c;期间深入体验了众多蓝牙耳机&#xff0c;涵盖了从新兴小众品牌到知名大厂的各种产品。我经常收到不同品牌的邀请&#xff0c;希望我能为他们的产品提供评测。在我的社交媒体私信中&#xff0c;也经常有…

【LeetCode】升级打怪之路 Day 24:回溯算法的解题框架

今日题目&#xff1a; 46. 全排列51. N 皇后78. 子集 目录 LC 46. 全排列LC 51. N 皇后LC 78. 子集 【classic】1&#xff09;思路一2&#xff09;思路二 今天学习了回溯算法的解题框架&#xff1a;回溯算法解题套路框架 | labuladong 回溯算法的整体框架都是&#xff1a; re…

在16G的GPU上微调Mixtral-8x7B

Mixtral-8x7B是最好的开源llm之一。但是消费级硬件上对其进行微调也是非常具有挑战性的。因为模型需要96.8 GB内存。而微调则需要更多的内存来存储状态和训练数据。比如说80gb RAM的H100 GPU是不够的。 这时我们就想到了QLoRA&#xff0c;它将模型大小除以4&#xff0c;同时通…

电商项目高级篇-04 nginx搭建域名访问环境

电商项目高级篇-04 nginx搭建域名访问环境 1、host文件配置2、docker命令nginx自动启动3、gulimall.com nginx反向代理到localhost:12000 1、host文件配置 SwitchHosts工具使用 添加链接描述 或者直接修改host文件 C:\Windows\System32\drivers\etc 将服务器地址映射到host文…

[C语言]指针详解一、数组指针、二维数组传参、函数指针

一、数组指针 对一个数组&#xff0c;如果我们想要让一个指针指向这个数组&#xff0c;我们应该如何定义呢?我们知道一个数组定义本来就是一个指针&#xff0c;那为何要多定义一个数组指针呢?我们来看看下面这个代码就理解了 #include <stdio.h> int main() {int arr…