为了账号安全,请及时绑定邮箱和手机立即绑定

栈内存什么时候释放的?

栈内存什么时候释放的?

fenkapian 2017-04-18 08:02:39
栈内存的释放当在一段代码块定义一个变量时,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会自动释放该变量所分配的内存空间
}


查看完整回答
1 反对 回复 2017-04-18
?
望远

TA贡献1017条经验 获得超1032个赞

这里就是说明了为什么Java中变量有其作用域,而在作用域以外不可使用该变量,就是因为只要变量不在它的作用域范围内,它的内存就会被释放,可存放其他数据。
查看完整回答
反对 回复 2017-04-18
  • 3 回答
  • 2 关注
  • 1968 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信