Map

怎甘沉沦 提交于 2020-08-20 08:47:32

HashMap(局部变量使用)

线程不安全的,没有加锁

Collections.synchronizedMap

线程安全的,是一个加锁版本的HashMap,Map<String, String> m = Collections.synchronizedMap(new HashMap<>());

Hashtable

是线程安全的,方法都添加synchronized

ConcurrentHashMap(多线程高并发推荐使用)

线程安全的,内部使用(compareAndSwapInt)CAS进行插入,使用CAS保证线程安全

ConcurrentSkipListMap(多线程高并发有序的集合)

插入时也是使用compareAndSwapObject(CAS)保证线程安全的;查找使用跳表,所以效率很高;

ConcurrentSkipListMap<String,String> skip = new ConcurrentSkipListMap<>();

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!