摘要
开发过程中,总会遇到一些并发安全问题。本文总结出常用的数据结构哪些是安全的,哪些是不安全的以及他们为什么是不安全。
java中sychronize锁的原理:
常见的数据结构
类型 | 数据结构 | 是否安全 | |
---|---|---|---|
ArrayList | 数组 | 不安全 | |
HashMap | 数组+链表 | 不安全 | |
HashTable | 数组+链表 | 安全 | |
ConcurrentHashMap | 数组+链表 | 安全 | |
LinkedList | 链表 | 不安全 | |
Vector | 数组 | 安全 | |
CopyOnWriteArrayList | 数组 | 安全 | |
CopyOnWriteHashMap | 数组+链表 | 安全 | |
CopyOnWriteSet | 数组+链表 | 安全 | |
HashSet | 数组+链表 | 不安全 |
synchronized锁升级过程 - 掘金