java中的空间分配问题:在java中,什么时候给成员变量、方法中局部变量、构造方法中的局部变量分配空间

什么时间释放空间,方法等分配不分配空间,越详细越好
2024-11-23 12:22:32
推荐回答(3个)
回答1:

java 中分基本数据类型和引用数据类型,
基本数据类型,声明它就在栈中分配了空间,当运行时,还会附上初始值,
应用数据类型:在声明它的时候也会在栈中分配内存空间,用来存储内存地址,如果没有赋值该地址指向一个空值(null),如果赋值,则该地址指向存储在堆中分配的地址,如果是new 则在堆中分配一个新地址,不如是其他对象赋值给它的,这时只是栈中的地址和原地址指向同一个堆。并没有在内存中分配新的堆空间

回答2:

在JAVA中,当你需要一个变量时,对它进行NEW一个,就可以给它分配一个内存空间。相当于给它一个内存地址。定义一个变量,并没有给它分配内存空间,JAVA中的JVM会自动释放内存,当你不用它时。

回答3:

变量是在程序第一次赋值的时候在内存中分配空间,至于释放空间,JAVA有这方面的一个特点,他有着自己的垃圾回收机制,应该是随时释放空间的