在Java中调用方法后会发生什么
这看起来像一个愚蠢的问题,但我发现很难做到这一点.我问过不同的人,但无法得到理想的答案.
我想知道在Java中调用普通方法后会发生什么(在单线程环境中提供). 我的理解是: >所有当前堆栈变量都是加速并存储在某处(在哪里?) 这是一个非常不完整的,可能是错误的答案.有人可以提供更详细的描述吗? 非常感谢. 解决方法
不,这实际上相当准确:
1)当前堆栈变量保留在堆栈中 2)当前方法暂停 3)新调用方法的参数被推送到堆栈 4)方法代码运行 5)方法运行完毕后,我们弹出堆栈.被调用方法的堆栈变量不再有效 – 此时它们不再“存在”. 6)我们将返回值(如果有的话)传递给调用者 7)代码继续使用调用方法.它的所有堆栈变量都保持不变. ============================== 附录: @Kevin – >从概念上讲,我认为你说得对.我澄清了几点,希望有所帮助. 恕我直言… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |