1. 程式人生 > >06-從零玩轉JavaWeb-數組在內存當中的存放形式

06-從零玩轉JavaWeb-數組在內存當中的存放形式

bsp png images int 一個 logs 玩轉 初始化 重新

一、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-數組在內存當中的存放形式