1. 程式人生 > >JAVA隨筆記錄

JAVA隨筆記錄

一、基本資料型別

整數型:byte、short、int、long

浮點型:float、double

字元型:char

布林型:boolean

二、基本型別所佔位元組及位數

 

上面的預設值是指基本資料型別的引用型別的初始值。比如:int的引用型別是Integer,初始值為0.其他的類似。 

裝箱和拆箱就是基本資料型別和引用資料型別之間的相互轉換。

三、==和equals的區別

1.當==作用於基本資料型別時,比較的基本資料型別的值;當作用於引用型別時,比較的是引用型別物件所在的地址。

2.equals不能作用於基本資料型別;當作用於引用型別時,若引用型別沒有重寫equals方法,那麼比較引用型別物件所在的地址;若引用型別重寫了equals方法,那麼比較的是物件所指向的內容。

四、類變數(靜態變數)和例項變數(成員變數)的區別

1.類變數在記憶體中只存一份,只進行一次的初始化,在載入類的過程中完成類變數的初始化分配;例項變數屬於例項物件的成員,每建立一個例項物件,都會為例項變數分配一次記憶體。

2.類變數儲存在方法區;例項變數儲存在堆中,它的引用儲存在當前執行緒棧。

3.類變數是由static修飾的;例項變數不需要static修飾。

4.類變數在載入類的時候就載入完;例項變數只有在例項化物件的時候才會載入。

五、ArrayList和LinkedList的異同

1.它們都是List介面的實現類(Vector也是List介面的實現類)。

2.ArrayList是基於陣列的資料結構;LinkedList是基於連結串列的資料結構。

3.當獲取元素時,ArrayList比LinkedList的速度快。因為ArrayList可直接通過下標來獲取,而LinkedList需要移動指標來獲取元素。

4.當增加元素和刪除元素時LinkedList的效率比ArrayList高,因為ArrayList對元素操作後要移動元素,而LinkedList只需要移動指標到指定位置即可。