1. 程式人生 > >Java的數組與內存控制

Java的數組與內存控制

一個數 side height 沒有初始化 數組長度 -type span ext index

1 數組基礎

   數組描述的是相同類型的若幹個數據,按照一定的先後次序排列組合而成。其中,每一個數據稱作一個數組元素(item),每個數組元素可以通過一個下標/索引來(index)訪問它們.

  1. 數組長度是確定。數組一旦申請完空間,長度不能發生變化,用length屬性訪問。
  2. 數組的元素都是同一數據類型。
  3. 數組是有序的 。每個元素通過下標/索引標記,索引從0開始。

 2.內存空間分類    

內存分為兩類:

棧(stack)內存:基本數據類型分配在棧內存,棧內存空間不需要開發者回收,系統會自動回收。棧空間占整個內存空間的比例較小

堆(heap)內存:引用數據類型分配在堆內存,堆內存一定要開發者通過new 來申請,開發者申請的內存使用完成後一定要回收。jvm中有專門的垃圾回收機制(gc)回收使用完的堆內存。堆空間占整個內存空間的比例較大。

 3.數組初始化   

  • 靜態初始化 : 初始化時由程序員指定每個數組元素的初始值,有系統決定數組長度
  • 動態初始化: 初始化時程序員只指定數值長度,由系統微數組元素分配初始值

  • 註意:數組,一旦初始化完成,該長度不可以變
  • 當char 沒有初始化 ,系統自動分配初始化 “\u0000”
    • 引用變量本質上只是一個指針,只要程序通過應用變量訪問屬性,或者通過引用變量來調用方法,該引用變量將會由他所引用的對象代替。

Java的數組與內存控制