关于栈帧的理解
来源:6-9 Java内存模型之线程独占部分-2
宝慕林4309021
2018-12-30
请问下老师, 我之前一直以为在方法中每一个方法调用会产生一个栈帧, 并且当前调用的方法处于虚拟机栈的栈顶, 看了这节课, 我发觉不太一样, 现在我的理解是, 在方法中每执行一个操作, 就会产生一个新的栈帧, 相当于栈帧是方法执行时每一次操作的一个快照, 不知道这样理解对不对
写回答
1回答
-
翔仔
2018-12-30
同学好,每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机里面从入栈到出栈的过程,在活动线程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧,与这个栈帧相关联的方法称为当前方法。而一个栈帧里面就包含了上面说的操作数栈这些。图演示的是一个栈帧里面即一次方法的操作,属于同一个栈帧
022019-01-11
相似问题