线程安全的使用HashMap的三种方法
一般情况下使用HashMap可以解决key-value的使用要求。
但是在对线程同步有要求的情况下,HashMap由于自身特性不能满足,可以采用下面几种方式
1,Hashtable
Map<String, String> map = new Hashtable<>()
2,ConcurrentHashMap
Map<String, String> map = new ConcurrentHashMap<>()
3,SynchronizedMap
Map<String, String> map = Collections.synchronizedMap(new HashMap<String, Strinig>());
虽然三种方式都可以,但是从性能上面看,
ConcurrentHashMap > SynchronizedMap > Hashtable
相同数据量下ConcurrentHashMap大概只需要一半耗时(数据量够大,十万级)