JUC一小结

JUC包中的主要内容

一、并发集合类(Queue、ConcurrentMap)

二、线程池(Callable、Future、Executor)

三、信号量(CountDownLatch、CyclicBarrier、Semapherre)

四。原子类操作(AtomInteger)

五、锁操作(Lock,Condition、ReadWriteLock)

一、并发集合包

集合框架

最大的父类是Collection和Map两大家族,Collection又分为Set(集合)和List(队列)

1、List的实现类有:ArrayList,LinkedList,Vector,Stack

(1)ArrayList是一个动态数组,非线程安全,适用于单线程

(2)LinkedList双向链表,非线程安全,适用于单线程

(3)Vector:矢量数组,线程安全的,支持并发操作

(4)Stack:是vector实现的栈,是线程安全的

2、Set的实现类有:HashSet、TreeSet

(1)HashSet:无重复数据的集合,底层通过HashMap实现,其实质是HaspMap键的映射,非线程安全的,适用于单线程

(2)TreeSet:也是一个无重复数据的集合,但是TreeSet是有序的,底层通过TreeMap实现,非线程安全,适用于单线程

3、Map的实现类有:HashMap、TreeMap、HashTable、WeakHashMap、ConcurrentMap

(1)HaspMap:以“键-值”形式存储的哈希表,非线程安全,适用于单线程,在HashTable基础上修改的

(2)Hashtable:也是以“键-值”形式存储的哈希表,线程安全的,支持并发操作

(3)TreeMap:也是以“键-值”形式存储的哈希表,但是其键值对是有序的,它是通过红黑树来实现的,非线程安全

(4)WeakHashMap:也是哈希表;和HashMap不同的是,HashMap是强引用类型,而WeakHashMap是弱引用类型,也就是说WeakHashMap 中的某个键不再正常使用时,会被从WeakHashMap中被自动移除WeakHashMap也不是线程安全的,只适用于单线程。

在JUC中大部分的类是非线程安全的,但是并发大师Doug Lea还在JUC中添加了java集合包中单线程类对应的支持高并发的类

ArrayList《-------》CopyOnWriteArrayList

HashMap《------》ConcurrentHashMap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值