java中局部变量必须要初始化的原理
2018-02-28 19:22
155 查看
问题
可能很多java开发人员也没有注意到,java语言中的局部变量是必须要初始化的,但是这是为什么呢?分析
现在假如你是java语言的开发者,你已经将对象保存在了堆内存中,而将局部变量保存在了栈内存中,你会怎么做呢?其实,不管是局部变量还是成员变量,都是必须要初始化的,那为什么成员变量会自动初始化?其实正是因为成员变量属于对象,而对象是保存在 堆中的,所以jvm就在初始化类的时候把成员变量初始化呢,而如果我们在调用方法的时候,还要jvm去将局部变量也进行初始化,是不是对会影响到性能呢?因此,直接强制局部变量必须要初始化反而更好。相关文章推荐
- java关于局部变量必须初始化赋初值及成员变量不必须该操作的原理浅解析
- Java中局部变量必须初始化【Java基础】
- 大家来讨论!Java*为什么局部变量必须初始化才能使用?有在观察JVM的指点一下!
- Java--局部内部类在访问他所在方法中的局部变量必须用final修饰
- java成员变量和局部变量的初始化和内存中的运行机制
- 探索,java线程中使用局部变量:局部变量必须声明为final
- 黑马程序员——Java中对象初始化的顺序与原理 总结
- Java 局部内部类访问局部变量必须加 final 关键字
- java中类初始化的顺序的原理
- Java中final变量为什么在使用前必须要进行初始化
- java使用之前必须初始化
- java JNI 实现原理 (四) 初始化JNI方法
- 为什么全局变量无须初始化 系统自动给默认值,局部变量必须初始化?
- java复习第三天-局部变量的初始化和内存中的机制-this调用内存栈
- 为什么Java匿名内部类的方法中用到的局部变量都必须定义为final
- 为什么局部变量必须手动赋值?而全局变量不用手动赋值也可以初始化?
- 关于java中成员变量有默认初始化而局部变量没有
- Java 内部类中使用局部变量必须是final
- 成员变量自动初始化,局部变量必须手动初始化
- 为什么局部变量必须以final修饰(或者有final实效:java8)才可以在内部类中使用?