V: ititit111222333 java
1.Cl lections.sort排序內部原理在Java 6中Arrays.sort(和Col ctions.sort(使用的是MergeSort, 而在Java 7中, 內部實現換成了Tim Sort, 其對對象間比較的實現要求更加嚴格2.hashMap原理, java 8作的改變從結構實現來說, HashMap是數組+鏈表+紅黑樹(JDK 1.8增長了紅黑樹部分) 實現的。HashMap最多隻容許條記錄的鍵爲null, 容許多條記錄的值爲null。HashMap非線程安全。Concurrent HashMap線程安全。解決碰撞:當出現衝突時,運用拉鍊法,將關鍵詞爲同義詞的結點連接在一個單鏈表中,散列表長m,則定義一個由m個頭指針組成的指針數組T,地址爲i的結點插入以T(I) 爲頭指針的單鏈表中。Java 8 中,衝突的元素超過限制(8) , 用紅黑樹替換鏈表。3.String和StringBuilder的區別1)可變與不可變:String不可變, 每一次執行「+」都會新生成一個新對象,因此頻繁改變字符串的狀況中不用String, 以節省內存。2) 是否多線程安全:StringBuilder並無對方法進行加同步鎖, 因此是非線程安全的。StringBuffer和String均線程安全。4.Vector與Array的區別1) ArrayList在內存不夠時默認是擴展50%+1個, Vector是默認擴展1倍。2) Vector屬於線程安全級別的, 可是大多數狀況下不使用Vector, 由於線程安全須要更大的系統開銷。5.HashMap與Hashtable的區別1)歷史緣由:Hashtable繼承Dictonary類, HashMap繼承自abstract Map 2)HashMap容許空的鍵值對, 但最多隻有一個空對象, 而HashTable不容許。3)HashTable同步, 而HashMap非同步, 效率上比HashTable要高6.Conn current HashMap和hashtable比較(兩個線程併發訪問map中同一條鏈, 一個線程在尾部刪除,一個線程在前面遍歷查找,問爲何前面的線程還能正確的查找到後面被另外一個線程刪除的節點)數組