Android-Daily-Interview
Android-Daily-Interview copied to clipboard
2019-12-10:谈一谈java线程安全的集合有哪些?
最近找题要找好久。更新有点不及时,抱歉。
- 早期的线程安全集合
- Vector = 全部方法加 synchronized 的 ArrayList
- HashTable = 全部方法加 synchronized 的 HashMap
- 包装工具类
- Collections.synchronizedXXX() 在原集合的基础上添加了锁对象,集合中的每个方法都通过这个锁对象实现同步
- java.util.concurrent包
- ConcurrentHashMap 1.7 分段锁技术,1.8 对table每行首元素加锁
- CopyOnWriteXXXX 加了写锁,写的时候锁住的整个对象,读则可以并发执行
- 其他
- Stack 继承了 Vector
补充 BlockingQueue
StringBuffer