Moosphan / Android-Daily-Interview

:pushpin:每工作日更新一道 Android 面试题,小聚成河,大聚成江,共勉之~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2019-12-10:谈一谈java线程安全的集合有哪些?

MoJieBlog opened this issue · comments

最近找题要找好久。更新有点不及时,抱歉。

commented
  1. 早期的线程安全集合
  • Vector
    = 全部方法加 synchronized 的 ArrayList
  • HashTable
    = 全部方法加 synchronized 的 HashMap
  1. 包装工具类
  • Collections.synchronizedXXX()
    在原集合的基础上添加了锁对象,集合中的每个方法都通过这个锁对象实现同步
  1. java.util.concurrent包
  • ConcurrentHashMap
    1.7 分段锁技术,1.8 对table每行首元素加锁
  • CopyOnWriteXXXX
    加了写锁,写的时候锁住的整个对象,读则可以并发执行
  1. 其他
  • Stack
    继承了 Vector

补充
BlockingQueue

StringBuffer