jvm java 数组 字节码

 0 ldc #2 <99999999>
 2 anewarray #3 <java/lang/String>
 5 astore_1                 创建好数组 存入本地变量
 6 aload_1
 7 sipush 998                数组索引压栈
10 ldc #4 <呵呵呵呵>            数组VAL压栈
12 aastore                根据索引把VAL存储到数组
13 aload_1
14 iconst_1
15 ldc #5 <哈哈哈>
17 aastore
18 aload_1                从本地变量表把数组压栈
19 iconst_1                需要读取的索引压栈
20 aaload                根据索引把数组对应的索引的值压栈
21 ldc #5 <哈哈哈>
23 if_acmpne 34 (+11)
26 getstatic #6 <java/lang/System.out>
29 ldc #7 <OKOKOKO>
31 invokevirtual #8 <java/io/PrintStream.println>
34 return

jvm中数组是非常重要的,什么MAP,什么集合之类的都是由数组实现的。。

上面是数组的字节码。

上一篇:浅析 PHP 中的 Generator


下一篇:34岁Java开发大叔感慨,进阶加薪全靠它!