gpt4 book ai didi

java - JVM 是否将内存分配给值为 null 的本地引用变量

转载 作者:行者123 更新时间:2023-12-01 06:42:30 25 4
gpt4 key购买 nike

我对java中的内存管理感到困惑。到处都写着局部变量在堆栈中被赋予内存。如果该局部变量是对象类型,那么它会在堆中获得内存。我想知道JVM在哪里为值为null的本地对象引用变量分配内存。

public void show(){
Animal animal = null;
}

JVM 在哪里为动物对象分配内存。它在堆栈中吗?或者它不提供任何内存,因为它被标记为空。我确信它没有在堆中分配内存。

谁能解答我的疑惑。

最佳答案

我认为引用动物将存储在堆栈本身中,直到方法完成执行,但对象的状态将存储在堆中。

因此,在上面的情况下,指向 null 的对象将在堆栈​​本身中分配 null,否则,如果您初始化该对象,则它将在堆中拥有该对象的地址。

关于java - JVM 是否将内存分配给值为 null 的本地引用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786611/

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