
java Queue
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
-
Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析
转载自 Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析 Java中的阻塞队列接口BlockingQueue继承自Queue接口。BlockingQueue接口提供了3个添加元素方法。add:添加元素到队列里,添加成功返回true,由于容量满了添加失败会抛出IllegalStateException异常 offer:添加元...转载 2018-07-19 12:58:30 · 182 阅读 · 0 评论 -
Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue
转载自 Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue 前言: BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的两个重要成员,包括他们各自的功能以及...转载 2018-07-19 12:56:33 · 333 阅读 · 0 评论 -
集合框架 Queue---ArrayBlockingQueue
转载自 集合框架 Queue---ArrayBlockingQueue 摘要:java.util.concurrent类 java.util.concurrent 类 ArrayBlockingQueue<E> java.lang.Object java.util.AbstractCollection<E> java.util....转载 2018-07-18 22:19:32 · 203 阅读 · 0 评论 -
java多线程之:SynchronousQueue队列
转载自 java多线程之:SynchronousQueue队列 SynchronousQueue是这样一种阻塞队列,其中每个 put 必须等待一个 take,反之亦然。同步队列没有任何内部容量,甚至连一个队列的容量都没有。 不能在同步队列上进行 peek,因为仅在试图要取得元素时,该元素才存在; 除非另一个线程试图移除某个元素,否则也不能(使用任何方法)添加元素;...转载 2018-07-18 22:19:18 · 206 阅读 · 0 评论 -
集合框架 Queue---BlockingQueue详解
转载自 集合框架 Queue---BlockingQueue详解 摘要:本例介绍一个特殊的队列:BlockingQueue,如果BlockingQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒,同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状态,直到BlockingQ...转载 2018-07-18 22:19:04 · 312 阅读 · 0 评论 -
并发队列-无界非阻塞队列 ConcurrentLinkedQueue 原理探究
转载自 并发队列-无界非阻塞队列 ConcurrentLinkedQueue 原理探究一、 前言常用的并发队列有阻塞队列和非阻塞队列,前者使用锁实现,后者则使用CAS非阻塞算法实现,使用非阻塞队列一般性能比较好,下面就看看常用的非阻塞ConcurrentLinkedQueue是如何使用CAS实现的。二、 ConcurrentLinkedQueue类图结构如图ConcurrentLinkedQueu...转载 2018-05-08 10:20:30 · 252 阅读 · 0 评论 -
非阻塞线程安全列表——ConcurrentLinkedDeque应用举例
转载自 非阻塞线程安全列表——ConcurrentLinkedDeque应用举例 在java中,最常用的数据结构可能是列表。有数目不详的元素列表,你可以添加、阅读、或删除任何位置的元素。此外,并发列表允许不同的线程列表中添加或删除元素时不产生任何数据不一致。非阻塞列表提供如下操作,如果操作不能立即完成,列出抛出异常或者返回一个null值。Java 7中引入了ConcurrentLink...转载 2018-07-18 22:04:35 · 429 阅读 · 0 评论 -
深入Java集合系列之五:PriorityQueue
转载自 深入Java集合系列之五:PriorityQueue 前言今天继续来分析一下PriorityQueue的源码实现,实际上在Java集合框架中,还有ArrayDeque(一种双端队列),这里就来分析一下PriorityQueue的源码。PriorityQueue也叫优先队列,所谓优先队列指的就是每次从优先队列中取出来的元素要么是最大值(最大堆),要么是最小值(最小堆)。我们知道...转载 2018-07-18 22:04:25 · 158 阅读 · 0 评论 -
Java多线程(六)之Deque与LinkedBlockingDeque深入分析
转载自 Java多线程(六)之Deque与LinkedBlockingDeque深入分析一、双向队列 DequeQueue除了前面介绍的实现外,还有一种双向的Queue实现Deque。这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂。下图描述的是Deque的完整体系图。需要说明的是LinkedList也已经加入了Deque的一部分(LinkedList是从jdk1...转载 2018-06-09 09:19:30 · 561 阅读 · 0 评论