请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

1回答

翔仔 2019-03-02 11:01:11

同学好,每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机里面从入栈到出栈的过程,在活动线程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧,与这个栈帧相关联的方法称为当前方法。而一个栈帧里面就包含了上面说的操作数栈这些。上图演示的是一个栈帧里面即一次方法的操作,属于同一个栈帧。

也就是说,栈帧对应一个线程的一个执行方法

1 回复 有任何疑惑可以回复我~
  • 提问者 qq_記得忘記_0 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-03-04 20:50:12
  • 老师你好,所以那七个栈帧其实是一个栈帧在不同命令下对应的不同状态么?如果是的话,那是不是意味着,我每执行一条指令,都要对这个栈帧进行pop 和 push的操作,这个中间也会改变栈帧中的操作数栈,以及本地变量表这些。直到最后方法return,整个栈帧销毁。
    回复 有任何疑惑可以回复我~ 2019-07-22 02:53:39
  • 翔仔 回复 hellocp7 #3
    同学好,确实是这样的,因为方法的执行就是入栈和出栈的过程
    回复 有任何疑惑可以回复我~ 2019-07-23 00:15:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信