面试官:呦,小伙子来的挺早啊! Hydra:那是,不能让您等太久了啊(别废话了快开始吧,还赶着去下一场呢)。 面试官:前面两轮表现还不错,那我们今天继续说说队列中的SynchronousQueue吧。 Hydra:好的,SynchronousQueue和之前介绍过的队列相比,稍微有一些特别 ...
面试官:好了,你也休息了十分钟了,咱们接着往下聊聊SynchronousQueue的非公平模式吧。 Hydra:好的,有了前面公平模式的基础,非公平模式理解起来就非常简单了。公平模式下,SynchronousQueue底层使用的是TransferQueue,是一个先进先出的队列,而非公平模式与它不同,底层采用了后进先出的TransferStack栈来实现。 下面我们还是先写一个例子来看看效果,首先 ...
2021-06-08 09:05 0 229 推荐指数:
面试官:呦,小伙子来的挺早啊! Hydra:那是,不能让您等太久了啊(别废话了快开始吧,还赶着去下一场呢)。 面试官:前面两轮表现还不错,那我们今天继续说说队列中的SynchronousQueue吧。 Hydra:好的,SynchronousQueue和之前介绍过的队列相比,稍微有一些特别 ...
SynchronousQueue原理详解-非公平模式 开篇 说明:本文分析采用的是jdk1.8 约定:下面内容中Ref-xxx代表的是引用地址,引用对应的节点 前面已经讲解了公平模式的内容,今天来讲解下关于非公平模式下的SynchronousQueue是如何进行工作的,在源码 ...
面试官:好了,聊完了ArrayBlockingQueue,我们接着说说LinkedBlockingQueue吧 Hydra:还真是不给人喘口气的机会,LinkedBlockingQueue是一个基于链表的阻塞队列,内部是由节点Node构成,每个被加入队列的元素都会被封装成下面的Node节点 ...
面试官:来了啊小伙子,以前经常有小菜鸟被我虐个两三轮就不敢来了,看你忍耐力还不错,以后应该挺能加班的样子。 Hydra:那可是,我卷起来真的是连我自己都害怕啊! 面试官:那咱们今天就继续死磕队列,聊聊PriorityBlockingQueue吧。 Hydra:没问题 ...
面试官:平常在工作中你都用过什么什么集合? Hydra:用过 ArrayList、HashMap,呃…没有了 面试官:好的,回家等通知吧… 不知道大家在面试中是否也有过这样的经历,工作中仅仅用过的那么几种简单的集合,被问到时就会感觉捉襟见肘。在面试中,如果能够讲清一些具有特殊的使用 ...
面试官:好久不见啊,上次我们聊完了PriorityBlockingQueue,今天我们再来聊聊和它相关的DelayQueue吧。 Hydra:就知道你前面肯定给我挖了坑,DelayQueue也是一个无界阻塞队列,但是和之前我们聊的其他队列不同,不是所有类型的元素都能够放进去,只有实现 ...
SynchronousQueue原理详解-公平模式 一、介绍 SynchronousQueue是一个双栈双队列算法,无空间的队列或栈,任何一个对SynchronousQueue写需要等到一个对SynchronousQueue的读操作,反之亦然。一个读操作需要等待一个写操作,相当于是交换通道 ...
简介 有个小伙伴最近咨询我,前段时间他被面试官问了synchronized是公平锁还是非公平锁?当时就蒙圈了,最后面试结果可想而知,今天我们就用一个通俗的案例加上代码来说明公平锁和非公平锁。其实公平锁这个概念是JUC工具包才有的,比如ReentrantLock才有公平锁的概念,这篇 ...