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 方法,操...