1. 程式人生 > >java 基礎概念 -- 數組與內存控制

java 基礎概念 -- 數組與內存控制

nbsp 堆內存 數組元素 art pan popu ace article pac

問題1: Java在聲明數組的過程中,是怎樣分配內存的?

在棧內存中 建一個數組變量,再在堆內存中 建一個 數組對象。至於詳細的內存分配細節,還得看 該初始化是 數組動態初始化 還是 數組靜態初始化。

問題2: Java數組的初始化方式 有哪幾種?

兩種:動態初始化 和 靜態初始化。動態初始化 指的是 僅僅指定數組的長度,不指明每個數組的元素。 靜態初始化 指的是 詳細指定數組的每個元素。


問題3: Java 的基本類型數組 和 應用類型數組 之間,在初始化時的內存分配機制有什麽差別?

Java 的基本類型數組 假設沒有聲明元素值,那麽會有默認的值,基本類型的數組 在 java 堆內存中 分配的內存空間是 連續的。

Java 的應用類型數組 假設沒有聲明元素值。那麽數組元素的值就是 null,應用類型的數組 在 java 堆內存中 分配的內存空間 不是連續的: 由於每一個元素對象都是詳細生成的。



數組引用變量 存在 棧內存中。數組對象 存在 堆內存中。

java 基礎概念 -- 數組與內存控制