Java局部变量为什么要初始化

Java局部变量为什么要初始化 如题。谢谢。

猛跑小猪
浏览 1411回答 2
2回答

婷婷同学_

编译器通不过如果没有初始化,类似c的随便指了一个地址。所以java直接编译失败了。

小怪兽爱吃肉

首先纠正一个观点,全局变量和局部变量都是需要初始化的。这是因为使用没有初始化的变量是不安全的。只不过全局变量的初始化工作可以交给JVM。而为什么局部变量不可以呢。我认为是出于性能等多方面的考虑。成员变量的值存放于堆中,JVM在分配内存时将整块区域置为零即完成了初始化,方便快捷。而局部变量运行时被分配于栈中,量大,生命周期短,如果由JVM完成初始化,将是一笔很大的性能开销。所以java明文规定局部变量必须初始化。建议学习一下jvm内存模型
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java