A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 犁不动田de大牛 初级黑马   /  2019-4-19 08:48  /  842 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

静态数组创建:jvm在数组创建是会为数组分配内存空间并赋值。
动态数组创建:数组在初始化时,会在堆内存为数组分配一块连续的内存空间,并为数组赋值(默认值:基本数据类型:整型为0;浮点型0.0;char\u0000;)
数组在Jvm运行时便会进行初始化,创建数组对象并分配内存地址且赋值,这个说法是错误的!
如:
int[] nums;(1)
int[] n={1,2,3,4,5};(2)
nums=n;(3)
(1)此时nums只在栈内存中指针并为指向堆内存中的有效数据,即nums并没有进行有效初始化,对象nums还不可使用;
(2)n在创建时便分配了内存空间且赋值了,对象n指向了堆内存中{1,2,3,4,5}这个数据
(3)此操作才让nums才完成真正的初始化操作,经过第三步才能使用nums对象!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马