collects

栈管运行,堆管存储

 

//Array 工具类:Arrays
//Collection 集合类 set list map 工具类: Collections

 

list

   arrayList 多线程不安全

//java.util.ConcurrentModificationException
解决办法
* 1,new Vector<>();并发性能下降很大(所有操作都加锁)
* 2,Collections.synchronizedList(arrayList);(写性能高,读性能低)
* 3,new CopyOnWriteArrayList<>();(写实复制,读写分离思想;高并发写性能低,读性能高)

set

   HashSet多线程不安全

//java.util.ConcurrentModificationException
解决办法

*HashSet底层是HashMap,高并发存在线程安全问题
 *     public HashSet() {
* map = new HashMap<>();
* }
* 解决办法
* 1,Collections.synchronizedSet(hashSet);
* 2,new CopyOnWriteArraySet<>();
*

MAP

 HashMap<Object, Object> hashMap = new HashMap<>();

Hashtable<Object, Object> hashtable = new Hashtable<>();
ConcurrentHashMap<Object, Object> concurrentHashMap = new ConcurrentHashMap<>();
Collections.synchronizedMap(hashMap);
* HashMap,高并发存在线程安全问题
*
* 解决办法
* 1,new Hashtable<>();(效率低,锁住全部)
* 2,Collections.synchronizedMap(hashMap);
* 3,new ConcurrentHashMap<>();(效率高,锁住segments字段)

posted @ 2020-08-07 11:06  NangKe  阅读(422)  评论(0)    收藏  举报