zoukankan      html  css  js  c++  java
  • A方法调用B方法,JVM是怎么一步一步调用的

    首先,A方法在调用B的方法的字节码的地方,PC就记录了当前栈帧字节码的执行的位置,调用B方法的时候,构造B栈帧的时候,将B栈帧的返回地址赋值为A的字节码执行的位置,以便返回继续调用,然后将参数存储到对应的B方法的局部变量表中,设置B方法为当前栈帧,并将设置pc设置为要调用的方法的第一条指令的操作码,从该方法的第一条指令继续执行,执行完毕(正常返回或者异常返回),都会回到方法被调用的位置,B栈帧pop出栈,A栈帧恢复到当前栈帧,PC恢复到原来的A的字节码执行位置继续往下执行。

    JVM规范截图:

    深入理解JAVA虚拟机-周至明 部分截图:

     

  • 相关阅读:
    IO模型
    Java NIO概述
    消息系统避免分布式事务
    JVM调优总结
    设计模式的六大原则
    Java 内存区域与内存溢出
    windows go安装
    ZooKeeper原理及使用
    再谈HashMap
    Html5 播放实时音频流
  • 原文地址:https://www.cnblogs.com/feibazhf/p/12749205.html
Copyright © 2011-2022 走看看