下载此文档

java数组分配内存字节码.docx


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
java 关于primitive数组内存问题
出来的都是存放在堆里的。
问题是我们如下情况:
int [] arr={1,2,3,4},
我查看了一下深入java 虚拟机测试了一下就没有new 直接 int[] arr={1,2,3,4}也是存放在堆里的。
下面是深入java虚拟机里堆数组相关字节码的定义,看清楚了说明每句最后一句话将新数组的对象引用压入栈。(是对象引用)
而我编写了两个小例子生成字节码:
例子1:
[java] view plaincopy
public class TestArray {  
     public static void main(String[] args){    
         int [] arr1=new int[3];  
     }  
}  
生成的字节码文件如下:
[java] view plaincopy
public class TestArray extends {  
public TestArray();  
  Code:  
   0:   aload_0  
   1:   invokespecial   #8; //Method java/lang/Object."<init>":()V  
   4:   return  
  
public static void main([]);  
  Code:  
   0:   iconst_3  
   1:   newarray int  
   3:   astore_1  
   4:   return  
}  
例子2:
[java] view plaincopy
public class TestArray {  
     public static void main(String[] args){    
         int [] arr1={1,2,3};  
     }  
}  
生成的字节码文件如下:
[java] view plaincopy
public class TestArray extends {  
public TestArray();  
  Code:  
   0:   aload_0  
   1:   invokespecial   #8; //Method java/lang/Object."<init>":()V  
   4:   return  
  
public static void main([]);  
  Code:  
   0:   iconst_3  
   1:   newarray int  
   3:   dup  
   4:   iconst_0  
   5:   iconst_1  
   6:   iastore //将int value 和索引index 弹出栈,赋值arr[index]=value;  
   7:   dup  
   8:   ic

java数组分配内存字节码 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人260933426
  • 文件大小75 KB
  • 时间2017-08-21