為什麼不做筆記,邊做邊學呢??
太慢了可能時間不夠!理清楚原理即可!
1、ConcurrentHashMap原理
https://blog.csdn.net/qq_33591903/article/details/106634270
2、HashMap、HashTable、ConcurrentHashMap、TreeMap的差別
1、HashMap:
實作了Map接口,允許一個NULL鍵和多個NULL值,是非線程安全的,當出現多線程操作時就涉及到了資料的同步問題,可以通過使用Collections.synchronizedMap(Map<K,V> m)方法來從HashMap中擷取線程安全的Map,但是這個synchronized會鎖住整個HashMap,意味着會效率低,
2、HashTable:
也是實作了Map接口,是jdk1.1之前有的,但是不允許NULL鍵和NULL值,比HashMap慢,因為它是同步的。HashTable是一個線程安全的類,它使用synchronized來鎖住整張Hash表來實作線程安全,即每次鎖住整張表讓線程獨占。是以HashTable适合于單線程。
3、ConcurrentHashMap:
是jdk1.5之後引入的