栈内存的释放当在一段代码块定义一个变量时,Java在栈中为这个变量分配内存空间,当该变量退出其作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。上面这段话,什么叫“当该变量退出其作用域后”啊?好难懂
3 回答
已采纳
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
public int test() { if(true) { int a = 1; // 这个变量a的作用域在这个if语句内 } // 退出if语句后,变量a也退出其作用域了,Java会自动释放该变量所分配的内存空间 int b = 1; // 这个变量b的作用域在这个函数test()内 return 0; // 退出函数后,变量b也退出其作用域了,Java会自动释放该变量所分配的内存空间 }
望远
TA贡献1017条经验 获得超1032个赞
这里就是说明了为什么Java中变量有其作用域,而在作用域以外不可使用该变量,就是因为只要变量不在它的作用域范围内,它的内存就会被释放,可存放其他数据。
添加回答
举报
0/150
提交
取消