栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java容器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java容器

List Vector

并发安全的集合,方式使用synchronized修饰

SynchronizedList

使用Collections.synchronizedList()方法创建的集合

ConcurrentlinkedDeque

并发安全的队列,使用poll()方法读取并删除头部元素,读到null时即为读完了

CopyonWriteArrayList

写的时候加锁,并赋值原有数组,同时扩展一个长度,放置新的元素,读的时候不加锁,读到的是未添加进来的老的数据

读操作非常多时可用

Map HashTable SynchronizedHashMap

并发安全的map,对方法内的代码块加synchronized锁

写的效率高于读的效率

ConcurrentSkipMap

并发安全的有序map,使用跳跃表作为数据结构

ConcurrentHashMap

并发安全的无序的map

读的效率高于写的效率,写的判断逻辑复杂

TreeMap

有序的map与linkedHashMap不同的是treeMap用的是红黑树,linkedHashMap用的是链表和hashMap

Queue

boolean offer(E e)添加元素,添加不成功返回false

peek()取出元素不会remove数据

poll()取出数据并且会remove数据

BlockingQueue

put()存数据,如果队列已满会阻塞线程直到数据被take取出

take()取出数据,没有数据会阻塞线程一直等待,直到数据被put进去

linkedBlockingQueue

用链表实现的BlockingQueue,无界队列,有内存就能放

ArrayBlockingQueue

底层使用数组实现,属于有界队列,在队列已满的时候

add方法添加元素会抛出异常

offer方法添加元素不会报异常,会返回false,可指定添加时间

DelayQueue

根据等待时间排序,等待越短的会优先被取出,使用PriorityQueue实现

SynchronousQueue

容量为0,用来做任务下发(类似于Exchanger)

不能使用add()添加数据

使用put()添加数据

TransferQueue

新增了transfer()方法,添加完数据库等待数据被消费

linkedTransferQueue PriorityQueue

有序的队列,值越小越靠前,底层数据结构是二叉树

ConcurrentlinkedDeque

并发安全的队列,使用poll()方法读取并删除头部元素,读到null时即为读完了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708314.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号