swd*_*per 7 java default-value variable-initialization
在一篇关于如何在Java中初始化对象的文章中,有一段如下:
在对象生命的开始,Java虚拟机(JVM)在堆上分配足够的内存以容纳对象的实例变量.但是,首次分配该内存时,它包含的数据是不可预测的.如果按原样使用内存,则对象的行为也是不可预测的.为了防范这种情况,Java确保在任何代码使用内存之前初始化内存,至少是可预测的默认值.
任何人都可以解释这是什么意思unpredictable data和unpredictable behavior在这里.提前致谢
任何人都可以在这里解释不可预测的数据和不可预测的行为的含义.
如果使用C/C++进行编程,您会注意到未初始化的变量带有一些垃圾值,存在于分配给它的内存位置,根据变量的数据类型进行解释.编译器不会抱怨此类变量,如果开发人员忘记正确初始化它们,则会使用垃圾值,从而导致程序出现意外行为.
在Java中,JVM根据变量的数据类型将所有成员变量初始化为默认值,并抱怨在编译期间未初始化的局部变量,以避免此类意外行为并使开发人员始终使用初始化变量.
| 归档时间: |
|
| 查看次数: |
1539 次 |
| 最近记录: |