摘要
开发过程中,总会遇到一些并发安全问题。本文总结出常用的数据结构哪些是安全的,哪些是不安全的以及他们为什么是不安全。
java中sychronize锁的原理:


常见的数据结构
| 类型 | 数据结构 | 是否安全 | |
|---|---|---|---|
| ArrayList | 数组 | 不安全 | |
| HashMap | 数组+链表 | 不安全 | |
| HashTable | 数组+链表 | 安全 | |
| ConcurrentHashMap | 数组+链表 | 安全 | |
| LinkedList | 链表 | 不安全 | |
| Vector | 数组 | 安全 | |
| CopyOnWriteArrayList | 数组 | 安全 | |
| CopyOnWriteHashMap | 数组+链表 | 安全 | |
| CopyOnWriteSet | 数组+链表 | 安全 | |
| HashSet | 数组+链表 | 不安全 |
synchronized锁升级过程 - 掘金



















