Collection
文章平均质量分 91
Java Collections Framework
说淑人
我想站的更高一些,好看到世界最真实的样子。
展开
-
Java ~ Collection/Executor ~ PriorityBlockingQueue【源码】
PriorityBlockingQueue(优先级阻塞队列)类是BlockingQueue(阻塞队列)接口的实现类之一,基于数组实现。优先级阻塞队列类必须定义比较器或元素必须实现比较能力。优先级阻塞队列类是真正意义上的无界队列,即容量理论上只受限于堆内存的大小。优先级阻塞队列类不允许存null,或者说阻塞队列接口的所有实现类都不允许存null。优先级阻塞队列类是线程安全的,或者说阻塞队列接口的所有实现类都是线程安全的,其接口定义中强制要求实现类必须线程安全。原创 2023-08-06 12:41:53 · 247 阅读 · 0 评论 -
Java ~ Collection/Executor ~ PriorityBlockingQueue【总结】
PriorityBlockingQueue(优先级阻塞队列)类是BlockingQueue(阻塞队列)接口的实现类之一,基于数组实现。优先级阻塞队列类必须定义比较器或元素必须实现比较能力。优先级阻塞队列类是真正意义上的无界队列,即容量理论上只受限于堆内存的大小。优先级阻塞队列类不允许存null,或者说阻塞队列接口的所有实现类都不允许存null。优先级阻塞队列类是线程安全的,或者说阻塞队列接口的所有实现类都是线程安全的,其接口定义中强制要求实现类必须线程安全。原创 2023-08-06 11:47:25 · 747 阅读 · 0 评论 -
Java ~ Collection/Executor ~ DelayQueue【源码】
DelayQueue(延迟队列)类是BlockingQueue(阻塞队列)接口的实现类之一,基于数组实现,特点是元素会被延迟头部移除。延迟队列类不允许存null值,或者说阻塞队列接口的所有实现类都不允许存null值。延迟队列类是无界队列,意味着其最大容量理论上只受限于堆内存的大小。延迟队列类是线程安全的,或者说阻塞队列接口的所有实现类都是线程安全的,其接口定义中强制要求实现类必须线程安全。延迟队列类的迭代器是弱一致性,即可能迭代到已移除的元素及无法迭代到新插入的元素。原创 2023-07-30 14:32:34 · 194 阅读 · 0 评论 -
Java ~ Collection/Executor ~ DelayQueue【总结】
DelayQueue(延迟队列)类是BlockingQueue(阻塞队列)接口的实现类之一,基于数组实现,特点是元素会被延迟头部移除。延迟队列类不允许存null值,或者说阻塞队列接口的所有实现类都不允许存null值。延迟队列类是无界队列,意味着其最大容量理论上只受限于堆内存的大小。延迟队列类是线程安全的,或者说阻塞队列接口的所有实现类都是线程安全的,其接口定义中强制要求实现类必须线程安全。延迟队列类的迭代器是弱一致性,即可能迭代到已移除的元素及无法迭代到新插入的元素。原创 2023-07-30 13:16:11 · 180 阅读 · 0 评论 -
Java ~ Collection【目录】
Java ~ Collection【目录】原创 2023-02-12 15:01:00 · 763 阅读 · 0 评论 -
Java ~ Collection/Executor ~ BlockingQueue【源码】
从本质上说,BlockingQueue(阻塞队列)接口应该属于Collection(集)框架的范畴,因为其继承了Queue(队列)接口。但由于其专为Executor(执行器)框架而设计,并且大多数情况都被用于容纳/管理向执行器递交的任务,因此通常都被划分到Executor(执行器)框架的范畴中。BlockingQueue(阻塞队列)接口最大的特点是阻塞(见名知意),换句话说,其定义上是线程安全的(即其子类无论采用了何种实现方式,都必须线程安全)。原创 2022-12-18 20:45:51 · 287 阅读 · 0 评论 -
Java ~ Collection/Executor ~ BlockingQueue【总结】
从本质上说,BlockingQueue(阻塞队列)接口(下文简称阻塞队列)应该属于Collection(集)框架的范畴,因为其继承了Queue(队列)接口。但由于其大多数情况都被用于容纳/管理执行器中的任务,因此通常都被划分到Executor(执行器)框架的范畴中。阻塞队列最大的特点是阻塞(这应该一眼就能看出来...),换句话说,其定义上是线程安全的,即实现无论采用了何种实现方式,都必须保证线程安全。阻塞队列不允许存null值。阻塞队列可能存在容量限定,这种阻塞队列被称为有界队列.原创 2023-02-12 14:54:50 · 437 阅读 · 0 评论 -
Java ~ Collection/Executor ~ LinkedBlockingQueue【源码】
LinkedBlockingQueue(链接阻塞队列)类可同时作为有界及无界队列使用。如果在创建LinkedBlockingQueue(链接阻塞队列)类对象(下文简称队列)时没有指定具体的容量,那其就是一个无界队列。LinkedBlockingQueue(链接阻塞队列)类是线程安全的,或者说BlockingQueue(阻塞队列)接口的所有的实现类都是线程安全的(接口的定义中强制要求实现类必须线程安全)。原创 2022-12-04 20:07:08 · 462 阅读 · 1 评论 -
Java ~ Collection/Executor ~ LinkedBlockingQueue【总结】
LinkedBlockingQueue(链接阻塞队列)类是BlockingQueue(阻塞队列)接口的主要实现类之一,也是Executor(执行器)框架最常搭配使用的实现之一,采用链表的方式实现。LinkedBlockingQueue(链接阻塞队列)类不允许存null值。LinkedBlockingQueue(链接阻塞队列)类不同于我们常规使用的Collection(集)接口的实现类,没有扩容的说法,即其容量会在创建时确定,之后不会再发生改变。原创 2022-12-04 19:33:50 · 689 阅读 · 0 评论 -
Java ~ Collection/Executor ~ ArrayBlockingQueue【源码】
ArrayBlockingQueue(数组阻塞队列)类(下文简称数组阻塞队列)是BlockingQueue(阻塞队列)接口的主要实现类之一,也是Executor(执行器)框架常用的实现之一,采用数组的方式实现。数组阻塞队列类不允许存null值。数组阻塞队列类只能作为有界队列使用。数组阻塞队列类是线程安全的。数组阻塞队列类支持公平访问策略。数组阻塞队列类的迭代器是弱一致性。原创 2023-03-19 14:21:44 · 385 阅读 · 0 评论 -
Java ~ Collection/Executor ~ ArrayBlockingQueue【总结】
ArrayBlockingQueue(数组阻塞队列)类(下文简称数组阻塞队列)是BlockingQueue(阻塞队列)接口的主要实现类之一,也是Executor(执行器)框架常用的实现之一,采用数组的方式实现。数组阻塞队列类不允许存null值。数组阻塞队列类只能作为有界队列使用。数组阻塞队列类是线程安全的。数组阻塞队列类支持公平访问策略。数组阻塞队列类的迭代器是弱一致性。原创 2023-03-19 15:11:32 · 374 阅读 · 0 评论 -
Java ~ Collection/Executor ~ BlockingDeque【源码】
BlockingDeque(阻塞双端队列)接口(下文简称阻塞双端队列)是BlockingQueue(阻塞队列)接口的子接口,在其的基础上进行了功能性的加强,新增了可在队列的两端进行插入/移除/检查操作的方法定义,就如同Deque(双端队列)接口对Queue(队列)接口做的那样。事实上,阻塞双端队列也确实同时是Deque(双端队列)接口的子接口,因此其新增的方法定义中有一部分是从Deque(双端队列)接口直接继承得来的。阻塞双端队列是Collection(集)框架的成员原创 2023-03-05 13:26:51 · 312 阅读 · 0 评论 -
Java ~ Collection/Executor ~ BlockingDeque【总结】
BlockingDeque(阻塞双端队列)接口(下文简称阻塞双端队列)是BlockingQueue(阻塞队列)接口的子接口,在其的基础上进行了功能性的加强,新增了可在队列的两端进行插入/移除/检查操作的方法定义,就如同Deque(双端队列)接口对Queue(队列)接口做的那样。阻塞双端队列是线程安全的,即实现类无论采用了何种实现方式,都必须保证线程安全,该定义继承自BlockingQueue(阻塞队列)接口。阻塞双端队列不允许存null值,该定义继承自BlockingQueue(阻塞队列)接口。原创 2023-03-05 14:50:56 · 393 阅读 · 0 评论 -
Java ~ Collection/Executor ~ LinkedBlockingDeque【源码】
LinkedBlockingDeque(链接阻塞双端队列)类(下文简称链接阻塞双端队列)是BlockingDeqeue(阻塞双端队列)接口的唯一实现类,采用链表的方式实现。链接阻塞双端队列不允许保存null。链接阻塞双端队列支持有界及无界两种使用方式,即是否人为限制可保存的元素总数。如果在创建链接阻塞双端队列时没有指定具体容量,则其便为无界队列。链接阻塞双端队列是线程安全的。链接阻塞双端队列实现了正/倒序两类迭代器,并且它们都是弱一致性的,即可能迭代到已移除的元素或迭代不到新插入的元素。原创 2023-03-06 17:54:35 · 411 阅读 · 0 评论 -
Java ~ Collection/Executor ~ LinkedBlockingDeque【总结】
LinkedBlockingDeque(链接阻塞双端队列)类(下文简称链接阻塞双端队列)是BlockingDeqeue(阻塞双端队列)接口的唯一实现类,采用链表的方式实现。链接阻塞双端队列不允许保存null。链接阻塞双端队列支持有界及无界两种使用方式,即是否人为限制可保存的元素总数。如果在创建链接阻塞双端队列时没有指定具体容量,则其便为无界队列。链接阻塞双端队列是线程安全的。链接阻塞双端队列实现了正/倒序两类迭代器,并且它们都是弱一致性的,即可能迭代到已移除的元素或迭代不到新插入的元素。原创 2023-02-19 22:55:47 · 450 阅读 · 0 评论 -
Java ~ Collection/Executor ~ TransferQueue【源码】
TransferQueue(迁移队列)接口(下文简称迁移队列)是BlockingQueue(阻塞队列)接口的两大子接口之一,在原本的操作定义上新增了迁移操作的定义。迁移队列的实现类不允许存null值,或者说BlockingQueue(阻塞队列)接口的所有的实现类都不允许存null值。迁移队列是线程安全的,或者说BlockingQueue(阻塞队列)接口的所有的实现类都是线程安全的(接口的定义中强制要求实现类必须线程安全)。原创 2023-03-12 14:21:11 · 260 阅读 · 0 评论 -
Java ~ Collection/Executor ~ TransferQueue【总结】
TransferQueue(迁移队列)接口(下文简称迁移队列)是BlockingQueue(阻塞队列)接口的两大子接口之一,在原本的操作定义上新增了迁移操作的定义。迁移队列的实现类不允许存null值。迁移队列是线程安全的。迁移队列虽然与BlockingQueue(阻塞队列)接口一样都被纳入Executor(执行器)框架的范畴,但同时是Collection(集)框架的成员。原创 2023-03-12 14:31:28 · 157 阅读 · 0 评论