在最近在面试过程中,张先森遇到一个面试官这么问,如果一个并发很大的消息应用,想要根据请求的优先级来处理,该怎么做。我当时只是笼统地回答用redis,面试官点了点头,这个问题就此通过。 那么用redi ...
在最近在面试过程中,张先森遇到一个面试官这么问,如果一个并发很大的消息应用,想要根据请求的优先级来处理,该怎么做。我当时只是笼统地回答用redis,面试官点了点头,这个问题就此通过。 那么用redi ...
1.堆:堆是一种树,由它实现的优先级队列的插入和删除的时间复杂度都是O(logn),用堆实现的优先级队列虽然和数组实现相比较删除慢了些,但插入的时间快的多了。当速度很重要且有很多插入操作时,可以选择堆 ...
堆这种数据结构应用场景很多,最经典的莫过于堆排序。堆排序是一种原地的、时间复杂度为O(nlogn)的排序算法。我们今天就来分析一下堆这种数据结构。 一、什么是堆 堆是一种特殊的树。只要满足以下两点 ...
问题 (1)DelayQueue是阻塞队列吗? (2)DelayQueue的实现方式? (3)DelayQueue主要用于什么场景? 简介 DelayQueue是java并发包下的延时阻塞队 ...
堆这种数据结构应用场景很多,最经典的莫过于堆排序。堆排序是一种原地的、时间复杂度为O(nlogn)的排序算法。我们今天就来分析一下堆这种数据结构。 一、什么是堆 堆是一种特殊的树。只要满 ...
Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复 ...
问题 (1)什么是优先级队列? (2)怎么实现一个优先级队列? (3)PriorityQueue是线程安全的吗? (4)PriorityQueue就有序的吗? 简介 优先级队列,是0个或多 ...