黑马程序员技术交流社区
标题:
内存问题
[打印本页]
作者:
董志超
时间:
2013-3-17 15:31
标题:
内存问题
方法中的局部变量存放在栈内存中,那此局部变量用final修饰后,是还是放在栈内存中吗,为什么?
作者:
hg3093483
时间:
2013-3-17 15:40
final修饰的变量变了常量
栈中只放临时动态的变量,
堆中放长久动态的变量,
我想所有常量是放全局变量区域里。不是堆也不是栈,可能看起来像堆
作者:
张雪萍
时间:
2013-3-17 15:41
局部变量被final修饰后,就变成了常量,常量放在常量池,这就没有为什么了,这更像是规则。
作者:
孙宁
时间:
2013-3-17 15:47
变量被final修饰后就相当于成了常量,是放在常量池中的
作者:
黑马-李嘉欣
时间:
2013-3-17 15:59
我想这个问题大家都很模糊,特地去查了一下:局部变量用final修饰后是放在方法区的运行常量池。
参考资料:http://ask.itruanjian.com/?note/view/479.html
希望对你有帮助!
作者:
罗威
时间:
2013-3-17 16:18
不是放在栈中,内存有很多区域,而我们要接触和理解的就 以下三个!
栈:存储局部变量
函数
堆:全局变量
存储数据容器
存储建立的对象
方法区:class文件
你的类
静态
常量
作者:
黑马-王鹏
时间:
2013-3-17 16:44
被final修饰的局部变量变成了常量,Java中,因为内存是有限的,而常量的生命周期很长,所以Java单独划分一片区域,就是方法区,
所以
常量只存在于方法区中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2