程序计数器的作用--简单易懂

2023-11-13

3.程序计数器

什么是程序计数器,它是干什么用的?

java中程序计数器是用寄存器实现的,它的作用是寻找下一个要执行的程序。

当我们的java程序被编译成二进制字节码文件后,如下图:

QQ截图20211130185816

右面,是我们写的代码,左面是二进制字节码形式(.class)

它们将由我们的解释器来将他们转换为机械码,从而让机器运行。

细心的你会发现,每个二进制字节码的前面都有一个类似于索引的数字。他们的作用也跟索引差不多,为当前程序标一个序号,记上他们的地址。

即使有了地址,解释器也不知道他们的顺序是什么样的,他只负责运行。

于是,便有了程序计数器,程序计数器记下了字节码运行的顺序,每当一行字节码走完,他就会立即告诉解释器下一个该走哪里。

双双配合,最终实现全部代码。

这就是程序计数器的作用,不断为解释器寻找下一个要执行的程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序计数器的作用--简单易懂 的相关文章

  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Eclipse 选项卡宽度不变

    我浏览了一些与此相关的帖子 但它们似乎并不能帮助我解决我的问题 我有一个项目 其中 java 文件以 2 个空格的宽度缩进 我想将所有内容更改为 4 空格宽度 我尝试了 正确的缩进 选项 但当我将几行修改为 4 空格缩进时 它只是将所有内容
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • 01前端实习面经之第一次面试

    前端实习面试经验 本系列文章为本菜鸟记录自己的前端面试经验 也希望帮助到需要者 文章目录 前端实习面试经验 公司 面试题 总结 公司 base南京 200 天 面试题 1 es6新特性 2 数组的常用方法 3 对promise的了解 是否使
  • Linux安装代码提示或自动补全插件

    在Linux中 当我们输入命令的时候 按 TAB键会有自动补全的功能 然而有些命令不会提示 而我们又忘记了怎么拼写 比如查看防火墙开启的状态命令如下 systemctl status firewalld service firewalld
  • 网页端html使用mqttjs,JavaScript使用MQTT - 农民子弟 - 博客园

    lt html gt lt head gt lt meta charset utf 8 gt lt title gt title gt lt script src https cdnjs cloudflare com ajax libs p
  • 迅捷fw325r虚拟服务器设置,迅捷FW325Rwifi连接Internet上网怎么设置 - falogincn登录页面...

    新购或恢复出厂快fw325r无线路由器的设置 实现网络连接 需要经过以下配置步骤 本文主要介绍了迅捷www falogincn cn 快 fw325r路由器网络连接设置方法 迅捷fw325r路由器网络连接设置方法 1 输入登录地址 在浏览器
  • 一个简单有趣的爬虫-----爬取百度翻译功能

    首先确定爬取的网址 https fanyi baidu com sug 我们爬取翻译功能时应对request进行简单伪装 编写headers base url https fanyi baidu com sug kw input 请输入要查
  • QT With OpenGL(SSAO)(Screen-Space Ambient Occlusion)

    文章目录 在G Buffer中加入深度信息 使用深度信息得到环境遮蔽的结果 1 新建SSAO帧缓存类 2 生成法向半球核心 3 生成随机核心转动纹理 为什么要生成随机核心转动 创建一个小的随机旋转向量纹理 4 使用G Buffer渲染SSA
  • 从4k到42k,软件测试工程师的涨薪史,给我看哭了

    最近 2023年高校毕业生就业调查显示 本科毕业月平均起薪为5825元 调查一出 便有很多同学表示自己又被平均了 看着这一数据 不免让人想到前不久中国青年报的一项调查 近六成大学生认为毕业10年内会年入百万 毕业10年真的能带来这么大的变化
  • Html CSS的三种链接方式

    感谢原文 https blog csdn net abc5382334 article details 24260817 感谢原文 https blog csdn net jiaqingge article details 52564348
  • 【pycharm远程debug中环境变量的问题】踩坑日记①

    在使用pycharm远程debug的时候 经常会出现环境变量的问题 就是说在服务器正常运行程序没问题 但是使用pycharm开始debug就会出现毛病 在做实验的时候我们往往要配置环境变量 一般会永久性地配置在 bashrc等文件中 以下放
  • 文件服务器如何保存,文件保存服务器

    文件保存服务器 内容精选 换一换 环境 centos jdk1 8 vsftpd nginx spring boot dockerftp上传附件 上传的附件有两种方式回显 在下面再详细说明此处省略ftp服务器 docker服务器nginx服
  • SQL模糊查询变量参数

    Transactional Modifying Query value select from 表名 where name like 1 nativeQuery true List
  • FindObjectOfType函数

    介绍 在Unity游戏引擎中 FindObjectOfType函数用于在场景中查找指定类型的单个活动对象 它可以通过提供类型参数来查找一个激活状态的场景对象 并返回第一个找到的对象实例 这个函数在需要查找某个特定类型的对象时非常有用 尤其是
  • BUG:阿里巴巴图标库引入链接后,icon有时候会不显示的话svg下载到本地使用

    忽然icon图标就不显示 但是代码 icon链接地址都没有发生变化 解决办法 将icon图标下载到本地 记住前后引用本地的名字要保持一致
  • C++中的代码重用与其他

    当初始化列表包含多个项目时 这些项目被初始化的顺序为他们被声明的顺序 而不是他们在初始化列表中的顺序 1 私有继承 使用私有继承 基类的公有成员和保护成员都将称为派生类的私有成员 使用公有继承 基类的公有方法将称为派生类的公有方法 使用私有
  • 开源框架RuoYi-Vue学习之集成redis/集成验证码

    1 请参见项目代码地址 文章目录 一 集成redis 二 验证码功能 图形验证码 数学验证码 三 使用postman测试验证码 四 存在的问题 使用redis工具查看为二进制数据 对开发者不友好 4 1 注意 4 2 解决方法 gt 配置序
  • ​LeetCode刷题实战267:回文排列II

    算法的重要性 我就不多说了吧 想去大厂 就必须要经过基础知识和业务逻辑面试 算法面试 所以 为了提高大家的算法能力 这个公众号后续每天带大家做一道算法题 题目就从LeetCode上面选 今天和大家聊的问题叫做 回文排列II 我们先来看题面
  • Chrome启动参数大全

    原文地址 https www cnblogs com yikemogutou articles 12624113 html 序号 条件 说明 1 报告伪分配跟踪 伪跟踪从当前活动的跟踪事件派生 2 prefetch 1 prefetch 启
  • 【无标题】Unable to convert type java.lang.Character of 8 to type of java.lang.CharSequence

    服务器内部错误org mybatis spring MyBatisSystemException nested exception is org apache ibatis exceptions PersistenceException E
  • GitHub 80k星Python神级学习路线,从青铜到王者,赶紧收藏!

    Python 为什么这么火 有很多原因 列举几点 语法简单易学 其他语言 5 行代码才能实现的东西 Python 一行搞定 可以少写很多代码 因此不少同学拿 Python 刷算法题 但注意要理解算法本身哦 类库生态丰富 想做什么功能基本都有
  • 程序计数器的作用--简单易懂

    3 程序计数器 什么是程序计数器 它是干什么用的 java中程序计数器是用寄存器实现的 它的作用是寻找下一个要执行的程序 当我们的java程序被编译成二进制字节码文件后 如下图 右面 是我们写的代码 左面是二进制字节码形式 class 它们