首页 > Java PC寄存器中的数据在方法正常返回后是如何恢复的,不同的JVM实现会采用不同方法吗?

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

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


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

【热门文章】
【热门文章】