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字段)

浙公网安备 33010602011771号