性能特色:mysql
【1】HashMap 能夠接受null(key,value均可覺得null),線程不安全(沒有synchronized),由於沒有synchronize 因此速度比較快,Map接口有兩個基本的實現,HashMap和TreeMap。TreeMap保存了對象的排列次序,而HashMap則不能。但collection框架提供方法能保證HashMap synchronized,這樣多個線程同時訪問HashMap時,能保證只有一個線程更改Map。算法
【2】HashSet 實現了Set接口,value不容許有重複的值,在添加對象以前,add(),要保證hashCode()和equal()兩個方法,這樣才能比較對象值是否相等sql
【3】HashTable 線程安全,擁有synchronize,因此多線程加載時速度慢數據庫
【4】ConcurrentHashMap 結合了HashMap 和HashTable優勢,ConcurrentHashMap至關於HashTable的集羣,怎麼講,打個比方咱們要存儲32條數據,咱們要往數據庫mysql中插入這些數據,可是要怎麼作到負載均衡,平均分配呢,須要用到算法,好比咱們的集羣是4個mysql,那麼第N條數據整除取餘爲0,就放到那個數據庫中,1%4==1,放到第一個數據庫,第二條數據2%4==2,放到第二個數據庫,第三條3%4==3,放到第三條數據庫,以此類推,32條數據每一個數據庫方八個,那麼在同時32個線程同時放的話,能同時放四個,同理咱們ConcurrentHashMap也至關於HashTable的一個集羣,默認爲16個,因此仍是按照那個道理,根據算法,在多線程狀況下,可以同時16個線程執行,因此速度提高大約16倍左右,主要用於銀行相關方面。數組
不清楚的話具體看下這兩篇博客:安全
http://blog.csdn.net/xuefeng0707/article/details/40834595多線程
http://blog.csdn.net/wisgood/article/details/19338693負載均衡