Java-API简析_java.util.concurrent.LinkedBlockingQueue<E>类(基于 Latest JDK)(浅析源码)
【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/135421957
出自【进步*于辰的博客】
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。
文章目录
- 1、概述
- 2、构造方法摘要
- 3、方法摘要
- 3.1 void clear()
- 3.2 int drainTo(Collection<? super E> c)
- 3.3 int drainTo(Collection<? super E> c, int maxElements)
- 3.4 Iterator`<E>` iterator()
- 3.5 boolean offer(E o)
- 3.6 boolean offer(E o, long timeout, TimeUnit unit)
- 3.7 E peek()
- 3.8 E poll()
- 3.9 E poll(long timeout, TimeUnit unit)
- 3.10 void put(E o)
- 3.11 int remainingCapacity()
- 3.12 boolean remove(Object o)
- 3.13 int size()
- 3.14 E take()
- 3.15 Object[] toArray()
- 3.16 `<T>` T[] toArray(T[] a)
- 3.17 String toString()
1、概述
继承关系:
- java.lang.Object
- java.util.AbstractCollection
<E>
- java.util.AbstractQueue
<E>
- java.util.concurrent.LinkedBlockingQueue
<E>
- java.util.concurrent.LinkedBlockingQueue
- java.util.AbstractQueue
- java.util.AbstractCollection
类型参数:
E - 集合中所保存元素的类型。
所有已实现的接口:
Serializable, Iterable<E>
, Collection<E>
, BlockingQueue<E>
, Queue<E>
public class LinkedBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, Serializable
一个基于已链接节点的、范围任意的 blocking queue。此队列按 FIFO(先进先出)排序元素。队列的头部 是在队列中时间最长的元素。队列的尾部 是在队列中时间最短的元素。新元素插入到队列的尾部,并且队列检索操作会获得位于队列头部的元素。链接队列的吞吐量通常要高于基于数组的队列,但是在大多数并发应用程序中,其可预知的性能要低。
可选的容量范围构造方法参数作为防止队列过度扩展的一种方法。如果未指定容量,则它等于 Integer.MAX_VALUE
。除非插入节点会使队列超出容量,否则每次插入后会动态地创建链接节点。
此类及其迭代器实现 Collection 和 Iterator 接口的所有 可选 方法。
此类是 Java Collections Framework 的成员。
从以下版本开始:
1.5
另请参见:
序列化表格
2、构造方法摘要
2.1 null
创建一个容量为 Integer.MAX_VALUE
的 LinkedBlockingQueue。
2.2 Collection<? extends E> c
创建一个容量是 Integer.MAX_VALUE
的 LinkedBlockingQueue,最初包含给定集合的元素,元素按该集合迭代器的遍历顺序添加。
2.3 int capacity
创建一个具有给定(固定)容量的 LinkedBlockingQueue。
3、方法摘要
3.1 void clear()
从队列彻底移除所有元素。
3.2 int drainTo(Collection<? super E> c)
移除此队列中所有可用的元素,并将它们添加到给定 collection 中。
3.3 int drainTo(Collection<? super E> c, int maxElements)
最多从此队列中移除给定数量的可用元素,并将这些元素添加到给定 collection 中。
3.4 Iterator<E>
iterator()
返回在队列中的元素上以正确顺序进行迭代的迭代器。
3.5 boolean offer(E o)
如果可能,在队列尾部插入指定的元素,如果队列已满则立即返回。
3.6 boolean offer(E o, long timeout, TimeUnit unit)
在队列尾插入指定的元素,如有必要,则等待指定的时间以使空间变得可用。
3.7 E peek()
检索,但是不移除此队列的头,如果此队列为空,则返回 null。
3.8 E poll()
检索并移除此队列的头,如果此队列为空,则返回 null。
3.9 E poll(long timeout, TimeUnit unit)
检索并移除此队列的头部,如果此队列中没有任何元素,则等待指定等待的时间(如果有必要)。
3.10 void put(E o)
将指定的元素添加到队列的尾部,如有必要,则等待空间变得可用。
3.11 int remainingCapacity()
返回理想情况下(没有内存和资源约束)此队列可接受并且不会被阻塞的元素数量。
3.12 boolean remove(Object o)
从此队列移除指定元素的单个实例(如果存在)。
3.13 int size()
返回队列中的元素个数。
3.14 E take()
检索并移除此队列的头部,如果此队列不存在任何元素,则一直等待。
3.15 Object[] toArray()
返回包含此 collection 中所有元素的数组。
3.16 <T>
T[] toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型是指定数组的类型。
3.17 String toString()
返回此 collection 的字符串表示形式。
本文暂缓更新。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!