【发布时间】:2021-07-07 00:51:53
【问题描述】:
我有点困惑静态变量和方法在哪里加载。我们说静态变量和方法加载在静态内存中。 bt public static void main() 被加载到堆栈中。由于 main() 方法也是静态的,那么 main 是如何加载到堆栈中的。 还有就是静态方法和变量存储在不同的位置,因为我们说方法加载在内存中的不同位置。
【问题讨论】:
-
首先,Java 虚拟机管理它。其次,
static变量在 Java 中是全局的。方法不是变量。但是 JVM 负责加载包含类定义、类内变量定义、所述变量的初始化以及方法调用(包括参数和返回堆栈)的字节码。您要解决什么问题,了解这些对您解决问题有何帮助? -
代码未“加载”到堆栈中。您可能对代码本身的概念和为保存与该代码实例的执行相关的数据(如局部变量、保存的寄存器、参数等)而创建的堆栈帧的概念感到困惑。
标签: java