当调用第一个方法时,给第一个方法划分一段栈帧空间并压入栈内。当这个方法执行完了将这个方法对应的栈帧出栈也就是释放这个方法所占用的内存。这就是栈和栈帧之间关系,一个栈内有没有可能多个栈帧存在?有的,调用方法1,方法1间接调用方法2,为方法2调用一块内存入栈,方法2又调用了方法3(尾递归)。。。方法3调用结束就把栈帧3内存释放掉。。。。
如下活动栈帧就是栈顶部的正在执行的方法
相关文章:
当调用第一个方法时,给第一个方法划分一段栈帧空间并压入栈内。当这个方法执行完了将这个方法对应的栈帧出栈也就是释放这个方法所占用的内存。这就是栈和栈帧之间关系,一个栈内有没有可能多个栈帧存在?有的,调用方法1,方法1间接调用方法2,为方法2调用一块内存入栈,方法2又调用了方法3(尾递归)。。。方法3调用结束就把栈帧3内存释放掉。。。。
如下活动栈帧就是栈顶部的正在执行的方法
相关文章: