请稍等 ...
×

采纳答案成功!

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

关于栈帧的理解

请问下老师, 我之前一直以为在方法中每一个方法调用会产生一个栈帧, 并且当前调用的方法处于虚拟机栈的栈顶, 看了这节课, 我发觉不太一样, 现在我的理解是, 在方法中每执行一个操作, 就会产生一个新的栈帧, 相当于栈帧是方法执行时每一次操作的一个快照, 不知道这样理解对不对

正在回答 回答被采纳积分+3

1回答

翔仔 2018-12-30 21:12:53

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

0 回复 有任何疑惑可以回复我~
  • 如此看来,似乎老师在举例讲解操作数栈和局部变量表时出现了错误,例子中对JVM栈有7步操作,老师说这里有7个栈帧。
    回复 有任何疑惑可以回复我~ 2019-01-10 19:12:07
  • 翔仔 回复 YoungFFan #2
    同学好,今明两天我核实一下,如果表述出现一些错误的话,后续等章节全部录制完成后再争取改一下,如果不行,会发手记给予说明。视频录制翔仔肯定会尽心尽力,但是难免会有瑕疵的地方,望同学多多海涵:)
    回复 有任何疑惑可以回复我~ 2019-01-11 15:29:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信