线程安全的使用HashMap的三种方法

一般情况下使用HashMap可以解决key-value的使用要求。

但是在对线程同步有要求的情况下,HashMap由于自身特性不能满足,可以采用下面几种方式

1,Hashtable

Map map = new Hashtable<>()

2,ConcurrentHashMap

Map map = new ConcurrentHashMap<>()

3,SynchronizedMap

Map map =  Collections.synchronizedMap(new HashMap());

虽然三种方式都可以,但是从性能上面看,

ConcurrentHashMap > SynchronizedMap > Hashtable

大家可以写一个demo自己测试一下。相同数据量下ConcurrentHashMap大概只需要一半耗时(数据量够大,十万级)

你可能感兴趣的:(java)