首页  >  问答  >  正文

字节码执行引擎 - Java PC寄存器中的数据在方法正常返回后是如何恢复的,不同的JVM实现会采用不同方法吗?

《深入理解Java虚拟机》中说:“一般来说,方法正常退出时,调用者的PC计数器的值可以作为返回地址,栈帧中很可能会保存这个计数器值。”。为什么是“可以作为”和“很可能”,有点模糊,具体是保存在栈帧的什么地方呢,有什么其他实现吗?

PHP中文网PHP中文网2765 天前550

全部回复(1)我来回复

  • PHPz

    PHPz2017-04-17 16:02:57

    因为寄存器的操作是Java开发者来说是透明的,也就是说JVM们可以不一定是按上述的这种方法来实现,只要Java代码在任何情况下执行的结果一致,那就能认为JVM是可靠的,并不非要按照相同的方式去操作寄存器。

    回复
    0
  • 取消回复