繁体   English   中英

if 块是否在 JAVA 的堆栈帧中创建一个条目?

[英]Does the if block create a entry in stack frame in JAVA?

我正在浏览堆栈框架,所以每个 function 调用都被推入堆栈框架并在完成时弹出,所以当执行 if 块时,它会被推入堆栈框架,还是会在当前方法堆栈条目中执行?

'if' 可能没有块,并且块通常没有变量声明,但如果有,则该变量在堆栈上(它引用的任何 object 一如既往地在堆上)。 它不是一个调用,所以不需要新的堆栈帧; 我猜帧指针说 put 并且堆栈指针递减以为其腾出空间,可能是模 4 或 8 以保持 CPU 快乐,当然在 JAVA 中它被初始化为零/空,空间位置是标识为(帧指针 - N)。 当块结束时,堆栈指针会向后递增并且忘记名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM