- 我理解的 PC 寄存器是物理层面的,程序计数器是 JVM 虚拟机层面的.程序计数器是对 PC 寄存器的一个模拟.
- 网上看到的资料写的是: PC 寄存器存储的是下一条指令的地址.而程序计数器存储的是当前线程正在执行的 JAVA 方法 JVM 指令地址.
- 疑问: 一个是当前的,一个是下一条的. 这两个是不一样的吗? 这块有点不太理解. 求大佬解答一下.

1 cubecube Apr 24, 2022 这俩没区别,不用人为区分。 |
2 lmshl Apr 24, 2022 程序计数器 = Program Counter = PC |
3 nekoneko Apr 24, 2022 肯定不一样啊, 你一个 CPU A 线程执行到一半切换到 B 线程, 之后又切换到 A 线程, 没有计数器你怎么知道从哪开始呀 |
4 zmal Apr 24, 2022 这俩不是一个层面的东西。JVM 的程序计数器是一个抽象的逻辑层概念。 |
5 ch2 Apr 24, 2022 PC 是 mips 的一个寄存器,在 x86 里不叫 PC ,而是由 EIP 和 ECS 决定下一条机器码从哪执行 JVM 里只是屏蔽机器码的一种抽象,在各个架构里实现的方法不同 |
6 ink19 Apr 24, 2022 按功能命名,他就是指向上一个指令也叫做程序计数器啊,但是因为实现的方法不同,细化来说,可以叫做指向当前指令的程序计数器之类的。。。只是没有必要区分罢了 |