06-从零玩转JavaWeb-数组在内存当中的存放形式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了06-从零玩转JavaWeb-数组在内存当中的存放形式相关的知识,希望对你有一定的参考价值。

一、JVM的内存划分

  想要了解数组的内存存储,先要了解JVM的整体内存划分,详细参见第04JVM内存详解

  技术分享

二、数组在JVM当中的存储详解

       假如我们有如下代码:

       技术分享

        上面代码当中,创建数组的过程我们可以把它分为三步:

  1.声明int类型的数组ages int [] ages;

  2.在堆中初始化数组 new int[]{10,20,30};

  3.把被初始数组的地址赋值给ages变量

  

  技术分享

 

  上图是 int[] ages = new int[]{} 在内存当中的体现形式 

  可以看到ages的值其实是堆当中数组的地址

  所以你去打印数组的时候会发现,打印的是一个地址,而不是数组当中的值。

  

  当执行ages = new int[]{40,50,60} 
  在堆中初始化了一个新的数组
  把数组的地址重新赋值给了ages

  技术分享

   技术分享

 




以上是关于06-从零玩转JavaWeb-数组在内存当中的存放形式的主要内容,如果未能解决你的问题,请参考以下文章

17-从零玩转JavaWeb-this关键字

12-从零玩转JavaWeb-static关键字

22-从零玩转JavaWeb-代码块

19-从零玩转JavaWeb-继承关系与方法覆盖

02-从零玩转JavaWeb-类与对象

15-从零玩转JavaWeb-封装思想