JVM_内存_程序计数器

1.程序计数器_介绍

1.程序计数器的物理上实现叫寄存器,是一块较小的内存区域
2.存储当前线程所执行的字节码指令(下一条指令)的执行位置
3.分支、循环、跳转、异常、线程恢复等都依赖于计数器

2.程序计数器_JVM指令的执行流程

JVM指令->解释器->翻译成[机器码]->交给CPU执行

3.程序计数器_示例

jvm指令【二进制字节码】 Java源代码
//数字:指令对应的内存地址
0: getstatic #20        // PrintStream out = System.out;
3: astore_1             // --
4: aload_1              // out.println(1);
5: iconst_1             // --
6: invokevirtual #26    // --
9: aload_1              // out.println(2);
10: iconst_2            // --
11: invokevirtual #26   // --
14: aload_1             // out.println(3);
15: iconst_3            // --
16: invokevirtual #26   // --
19: aload_1             // out.println(4);
20: iconst_4            // --
21: invokevirtual #26   // --
24: aload_1             // out.println(5);
25: iconst_5            // --
26: invokevirtual #26   // --
29: return

4.程序计数器_特点

1.线程私有的【分支、循环、跳转、异常、线程恢复等都依赖计数器】
2.不会存在内存溢出
3.执行native本地方法时,程序计数器的值为空
posted @ 2023-06-25 14:54  Davis·Hisa  阅读(36)  评论(0)    收藏  举报