【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/135422298
出自【进步*于辰的博客】
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。
继承关系:
<E>
<E>
<E>
类型参数:
E - 在此 collection 中保持的元素类型
所有已实现的接口:
Serializable, Iterable<E>
, Collection<E>
, BlockingQueue<E>
, Queue<E>
public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, Serializable
一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。
这是一个典型的 “有界缓存区” \color{red}{“有界缓存区”} “有界缓存区”,固定大小的数组在其中保持生产者插入的元素和使用者提取的元素。一旦创建了这样的缓存区,就不能再增加其容量。试图向已满队列中放入元素会导致放入操作受阻塞;试图从空队列中检索元素将导致类似阻塞。
此类支持对等待的生产者线程和使用者线程进行排序的可选公平策略。默认情况下,不保证是这种排序。然而,通过将公平性 (fairness
) 设置为 true 而构造的队列允许按照 FIFO 顺序访问线程。公平性通常会降低吞吐量,但也减少了可变性和避免了“不平衡性”。
此类及其迭代器实现了 Collection 和 Iterator 接口的所有可选 方法。
此类是 Java Collections Framework 的成员。
从以下版本开始:
1.5
另请参见:
序列化表格
创建一个带有给定的(固定)容量和默认访问策略的 ArrayBlockingQueue。
创建一个具有给定的(固定)容量和指定访问策略的 ArrayBlockingQueue。
创建一个具有给定的(固定)容量和指定访问策略的 ArrayBlockingQueue,它最初包含给定 collection 的元素,并以 collection 迭代器的遍历顺序添加元素。
自动移除此队列中的所有元素。
如果此 collection 包含指定的元素,则返回 true。
移除此队列中所有可用的元素,并将它们添加到给定 collection 中。
最多从此队列中移除给定数量的可用元素,并将这些元素添加到给定 collection 中。
<E>
iterator()返回在此队列中的元素上以正确顺序进行迭代的迭代器。
将指定的元素插入到此队列的尾部(如果可能),如果此队列已满,则立即返回。
将指定的元素插入到此队列的尾部,如果没有可用空间,将等待指定的等待时间(如果有必要)。
检索,但是不移除此队列的头,如果此队列为空,则返回 null。
检索并移除此队列的头,如果此队列为空,则返回 null。
检索并移除此队列的头部,如果此队列中没有任何元素,则等待指定等待的时间(如果有必要)。
将指定的元素添加到此队列的尾部,如果必要,将等待可用的空间。
返回在无阻塞的理想情况下(不存在内存或资源约束)此队列能接受的元素数量。
从此队列中移除指定元素的一个实例(如果存在)。
返回此队列中元素的数量。
检索并移除此队列的头部,如果此队列不存在任何元素,则一直等待。
返回包含此 collection 中所有元素的数组。
<T>
T[] toArray(T[] a)返回包含此 collection 中所有元素的数组;返回数组的运行时类型是指定数组的类型。
返回此 collection 的字符串表示形式。
本文暂缓更新。