棧內存的釋放當在一段代碼塊定義一個變量時,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
提交
取消