手机版

java数组分配内存字节码(3)

发布时间:2021-06-07   来源:未知    
字号:

与java数组有关的源代码如何转换为对应字节码

22. 13: iconst_3

23. 14: iastore

24. 15: astore_1 //我数组对象引用赋值给变量arr1

25. 16: return 26. } 看到了没有都是通过newarrayint生成字节码文件。 所以不管哪种方式 int [] arr1={1,2,3}; 还是int [] arr1=new int[3];数组都是在堆上,引用在栈上。 2.另外java中针对数组和对象使用不同操作码(专门为对象设计了另外的操作码)。

如对象采用如下:

3. 数组平时要注意地方:

String[] str = {"1","2","3"}与String[] str = new String[]{"1","2","3"}在内存里有什么区别? 这里的区别仅仅是代码书写上的:

String[] str = {"1","2","3"}; 这种形式叫数组初始化式(Array Initializer),只能用在声明同时赋值的情况下。

而 String[] str = new String[]{"1","2","3"} 是一般形式的赋值,=号的右边叫数组字面量

(Array Literal),数组字面量可以用在任何需要一个数组的地方(类型兼容的情况下)。如:

String[] str = {"1","2","3"}; // 正确的

String[] str = new String[]{"1","2","3"} // 也是正确的

String[] str;

str = {"1","2","3"}; // 编译错误

因为数组初始化式只能用于声明同时赋值的情况下。

改为:

String[] str;

str = new String[] {"1","2","3"}; // 正确了

又如:

java数组分配内存字节码(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)