當前位置:
首頁 > 最新 > 從零學java筆錄-第24篇 數組3 圖解一維數組在內存中

從零學java筆錄-第24篇 數組3 圖解一維數組在內存中

本節主要內容:

1:一維數組在動態賦值在內存中圖解。

2:本節總結&下節預告

本文出處:《凱哥陪你學系列之java基礎篇.Java基本語法篇》中第24篇 數組3 一維數組在內存中圖解

如上面的代碼我們先讀代碼:

第13行 在主函數(main()) 中創建了一個int 類型的一維數組長度等於3

在對應堆、棧中。

1:聲明數組&由系統初始化默認值

流程說明:

1.1:系統先執行main方法。所以main方法被壓棧到最下面

而int [] arr 又是main方法的局部變數。所以也在棧中(見上圖棧區)

1.2:在堆區系統先創建三個連續的區域。對應的內存地址為:[I@39ff48d8

然後給每個對應所以都賦默認值0(見上圖堆區)

1.3:系統將1.2中堆區創建的連續空間的地址值給arr

1.4:所以在第14行,我們輸出arr在內存中的地址就是[I@39ff48d8

2:動態給數組arr賦值

第16.17.18行操作如下:

流程說明:

2.1: 在動態賦值的時候,系統先根據arr對應堆區的地址值找到對應連續空間

2.2:然後根據對應索引替換相應的值

3:輸出新賦值的數據:

所以在19、20行輸出的實際值就是

在堆區地址值為[I@39ff48d8的連續區域中,下標索引為1和2的值。

從上圖中我們可以看到對應的值就是15 和30

所以列印到控制台上的值就是 15 和30

完整圖:

思考:

以上這些為什麼輸入的結果如下圖:

圖解如下:

本節總結:

通過本節學習,需要理解:

1:一維數組動態賦值,在內存中是怎麼處理的

下節預告:

通過本節學習我們知道了動態給數組賦值,既然有動態賦值,那麼是不是也有靜態賦值呢?靜態賦值又是什麼樣子呢?請學習下一篇:《從零學java筆錄-第25篇 數組4 數組的初始化靜態初始化及內存圖》

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 凱哥java 的精彩文章:

從零學java筆錄-第23篇java中內存分配及棧、堆的區別
從零學java筆錄-第22篇數組概念動態初始化內存中模型
從零學java筆錄-第21篇 方法函數3之重載
從零學java筆錄-第20篇 方法 函數2 函數練習
從零學java筆錄-第19篇 方法函數1

TAG:凱哥java |

您可能感興趣

從零學習Spring MVC框架「環境搭建和MVC架構」
從零學茶,你需要了解茶中的14種滋味
「門外漢」從零學起 DIY不怕摔的軟陶人
跟我一起從零學——水彩坑
在申請歐洲那些「零學費」的大學前,你需要明白的四件事
從零學法語 揭開法語的面紗
從零學木料,識木之各種木料的特點
《葯神》主創也很神,思慧和牧師從零學起,黃毛為一個背影摔幾次