Java 面試基礎知識(四)

2021-09-02 19:01:59 字數 758 閱讀 2774

1.arraylist與vector的區別

1)兩者都實現了list介面,都是通過陣列實現的;vector是執行緒安全的,而arraylist非執行緒安全。

2)當list增加元素時,如果它認為不夠的時候會進行擴容,vector也會,預設情況下是增加原來的一倍的陣列長度,arraylist則增加原來的50%。

2.arraylist和linklist的區別以及使用

1)arraylist是陣列實現的,可以認為是乙個大小可變的動態陣列。linklist是通過雙向鍊錶實現的。

2)linklist與arraylist相比增刪速度較快,查詢和修改值較慢。

3)linklist適合中間插入或者刪除較多的時候使用,arraylist時候查詢較多的時候使用。

2.error與exception的區別

error與exception都是繼承與throwable類;error一般指與虛擬機器有關的問題,比如系統崩潰、虛擬機器錯誤、記憶體不足和方法呼叫棧溢位等,這種情況是程式無法處理的。exception表示程式可以處理的異常,可以獲取並且可能恢復的。遇到這種情況應當處理異常,讓程式恢復執行。

3.多執行緒實現的方法

1)繼承thread類。

2)實現runable介面。

3)使用executorservice、callable、future實現有返回結果的多執行緒。

4.執行緒的狀態轉化。

java面試 基礎知識

hashmap hashmap是基於雜湊表實現,hashmap是非執行緒安全的 concurrenthashmap 執行緒安全 hashtable 執行緒安全 1.arraylist 主要就是查詢快,刪除,插入 時間複雜度o n 比如刪除第乙個元素,那麼後面的元素就要整體向前移動,而查詢就比較簡單了...

JAVA基礎知識(四)

封裝是保證軟體部件具有優良的模組性的基礎,封裝的目標就是要實現軟體部件的 高內聚 低耦合 防止程式相互依賴性而帶來的變動影響。在物件導向的程式語言中,物件是封裝的最基本單位,物件導向的封裝比傳統語言的封裝更為清晰 更為有力。物件導向的封裝就是把描述乙個物件的屬性和行為的 封裝在乙個 模組 中,也就是...

java基礎知識 面試

函式的過載 函式的過載就是在同乙個類中允許同時存在乙個以上的同名函式,只要它們的引數個數或型別不同即可。過載函式的引數列表必須不同,要麼是引數的個數不同,要麼是引數的型別不同。過載函式的返回值型別可以相同,也可以不同。物件的比較 有兩種方式可以用於物件的比較,它是是 運算子與 equals 方法,操...