Java局部变量为什么要初始化 如题。谢谢。
2 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
首先纠正一个观点,全局变量和局部变量都是需要初始化的。这是因为使用没有初始化的变量是不安全的。只不过全局变量的初始化工作可以交给JVM。而为什么局部变量不可以呢。我认为是出于性能等多方面的考虑。
成员变量的值存放于堆中,JVM在分配内存时将整块区域置为零即完成了初始化,方便快捷。而局部变量运行时被分配于栈中,量大,生命周期短,如果由JVM完成初始化,将是一笔很大的性能开销。所以java明文规定局部变量必须初始化。
建议学习一下jvm内存模型
添加回答
举报
0/150
提交
取消