gpt4 book ai didi

java - 局部变量堆栈何时创建?

转载 作者:行者123 更新时间:2023-11-30 03:16:13 24 4
gpt4 key购买 nike

我正在学习 jvm 的内部结构,我读了 this文章。在阅读时我有一个疑问,即何时创建局部变量堆栈? 如果在运行时创建局部变量堆栈thissuper关键字将指向 real或者,如果在编译时创建局部变量堆栈,那么 this、super 关键字内部如何工作?

最佳答案

When local variable stack get created ?

javac 将局部变量以字节码形式分配到堆栈中。此分配是概念性的,真实机器中的实际分配可能会非常不同。

JIT优化代码之后,可以内联局部变量和方法本身,在这种情况下,理想情况下不会发生任何事情。

If local variable stack created at run time will this, super keywords point real objects

运行时没有super。只有当前可用的对象,例如表示 this 的对象以及您可以调用它们的方法。当您使用 super 时,您指的是父类中的方法,而不是当前的方法。

Or if local variable stack is created at compile time, how this, super keywords internally works?

super 更改编译器选择调用的方法。一旦做出此选择,superthis 之间的区别就被丢弃。

关于java - 局部变量堆栈何时创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com