1. 程式人生 > >java陣列的記憶體表示

java陣列的記憶體表示

     

     陣列在java中也是一個特殊對待型別,具有連續儲存的特徵。陣列佔連續空間,長度建立固定以後無法修改,不允許擴充套件空間。



     優點:陣列隨機訪問很快,陣列元素儲存空間是連續的佔同樣大小的空間,這樣訪問元素就非常的快速,因為陣列元素儲存的規律,可以通過元素第一個位置很快的計算出其它元素的位置


     弱點:空間已經固定,開闢新空間不被允許,因為這個陣列尾部的連續記憶體空間可能已經被其它物件分配佔用,而陣列的要求是它所有的元素的地址必須是連續儲存的
     弱點:插入和刪除元素比較慢 :因為刪除和插入一個元素必然要把後面的所有元素依次移動


     自定義型別陣列元素的記憶體表示:

     Example[] b = new Example[5];

     上面這句話建立了一個b的指標,指向了有5個元素的陣列物件,這5個連續儲存的元素初始值為null,5個元素絕不是物件,是5個Example物件的指標,到時建立Example物件時將地址存入到陣列的元素中陣列物件是不能包含任何其它物件的,最多是包含其它物件的引用。也可以說任何物件在它的記憶體中都不能包含其它任何物件,最多也是隻能包含其它物件的引用。