400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

java程序计数器的介绍和作用

这篇文章主要讲解了“java程序计数器的介绍和作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java程序计数器的介绍和作用”吧!

十载专注成都网站制作,成都企业网站建设,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都企业网站建设,高端网页制作,对铜雕雕塑等多个行业,拥有丰富的网站营销经验。

程序计数器

介绍

JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器(或指令计数器)会更加贴切(也称为程序钩子),并且也不容易引起一些不必要的误会。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。

java程序计数器的介绍和作用

作用

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

java程序计数器的介绍和作用

代码演示

我们首先写一个简单的代码

public class PCRegisterTest {
    public static void main(String[] args) {
        int i = 10;
        int j = 20;
        int k = i + j;
    }
}

然后将代码进行编译成字节码文件,我们再次查看 ,发现在字节码的左边有一个行号标识,它其实就是指令地址,用于指向当前执行到哪里。

0: bipush        10
2: istore_1
3: bipush        20
5: istore_2
6: iload_1
7: iload_2
8: iadd
9: istore_3
10: return

通过PC寄存器,我们就可以知道当前程序执行到哪一步了 

java程序计数器的介绍和作用

两个常见问题

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

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

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

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

java程序计数器的介绍和作用

2 PC寄存器为什么被设定为私有的?

java程序计数器的介绍和作用

CPU时间片

并行:vs 串行

并发:单核 交替执行多个线程的命令

java程序计数器的介绍和作用

感谢各位的阅读,以上就是“java程序计数器的介绍和作用”的内容了,经过本文的学习后,相信大家对java程序计数器的介绍和作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前名称:java程序计数器的介绍和作用
标题路径:http://mzwzsj.com/article/gpidcp.html

其他资讯

让你的专属顾问为你服务