搜索结果
查询Tags标签: 队列,共有 1737条记录-
树的难题 BJOI2017 点分治 单调队列
P3714 [BJOI2017]树的难题 没时间码 先口胡。 明显有一个n^2的暴力。可以拿到20分。 链的情况也非常容易 一个简单的单调队列 就可以解决 当然可以暴力的采用线段树。 这样可以拿到40分。 对于60分 直接考虑线段树合并 利用线段树维护每种颜色的最大值 由于不考虑边数问题…
2022/8/30 23:52:53 人评论 次浏览 -
如何解决消息队列的延时以及过期失效问题?
如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?面试官心理分析 你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列…
2022/8/29 6:25:11 人评论 次浏览 -
如何保证消息队列的高可用?
如何保证消息队列的高可用?面试官心理分析 如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。 要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过…
2022/8/28 6:23:55 人评论 次浏览 -
面经-虚拟机-内存溢出
内存溢出 项目中什么情况下会内存溢出,怎么解决的 1.误用固定大小线程池 当前线程任务超时后,其余任务将被加入任务队列中,任务对象所耗费的内存会导致整个堆内存耗尽,导致内存溢出异常。 解决方法: 不要用工具类提供的线程池来创建线程池。而是使用线程池时自己使用…
2022/8/27 5:23:19 人评论 次浏览 -
RabbitMQ 入门系列:5、基础编码:交换机的进阶介绍及编码方式。
系列目录RabbitMQ 入门系列:1、MQ的应用场景的选择与RabbitMQ安装。 RabbitMQ 入门系列:2、基础含义:链接、通道、队列、交换机。 RabbitMQ 入门系列:3、基础含义:持久化、排它性、自动删除、强制性、路由键。 RabbitMQ 入门系列:4、基础编码:官方SDK使用:链接创建…
2022/8/26 6:55:55 人评论 次浏览 -
CF1066C 题解
前言 题目传送门! 更好的阅读体验? 本题是简单的双端队列练手题。 思路 题意大致如下:执行双端队列 push_front() 操作。 执行双端队列 push_back() 操作。 查询 \(\min\{mp_x - L, R - mp_x\}\),其中 \(mp_x\) 表示 \(x\) 元素的对应下标。由于 STL 配备的双端队列性…
2022/8/26 6:23:38 人评论 次浏览 -
彻底了解线程池的原理——40行从零开始自己写线程池
前言 在我们的日常的编程当中,并发是始终离不开的主题,而在并发多线程当中,线程池又是一个不可规避的问题。多线程可以提高我们并发程序的效率,可以让我们不去频繁的申请和释放线程,这是一个很大的花销,而在线程池当中就不需要去频繁的申请线程,他的主要原理是申请…
2022/8/25 6:24:04 人评论 次浏览 -
Java工具篇之Disruptor高性能队列
简介: disruptor适用于多个线程之间的消息队列,`作用与ArrayBlockingQueue有相似之处`,但是disruptor从功能、性能都远好于ArrayBlockingQueue,当多个线程之间传递大量数据或对性能要求较高时,可以考虑使用disruptor作为ArrayBlockingQueue的替代者。Disruptor是英国…
2022/8/25 1:24:26 人评论 次浏览 -
消息队列正确使用手册
1. 如何保证消息不丢失? 消息确认机制 2. 如何保证消息只被消费一次? 为了保证消息丢失,需要付出两方面的代价:一方面是性能的损耗,一方面可能造成消息重复消费。为了保证消息只被消费一次,我们需要保证消费多条消息时所得到的结果就是相同的,即幂等的。消息在生产…
2022/8/24 23:27:02 人评论 次浏览 -
SpringBoot使用RabbitMq实现队列和延时队列
闲来无事看了看RabbitMq的队列,总结了一些队列的实现方法,当然,免不了各种看别人的博客哈哈哈 其中延时队列有两种方式,一种是使用TTl+死信队列实现,一种是直接用RabbitMq的官方插件 第一种写起来比较麻烦,这里就只说第二种了 接下来从头开始说吧 1.首先是插件下载 …
2022/8/24 23:25:22 人评论 次浏览 -
栈(Stack)和队列(Queue)
一 栈(Stack):一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一 端称为栈顶,另一端称为栈底。栈中的数据元素遵守先进后出。压栈:栈的插入操作也叫入栈,进栈,压栈。 出栈:栈的删除操作也叫出栈。方法:stack.push(); …
2022/8/24 6:52:56 人评论 次浏览 -
C#-队列 Queue/栈 Stack
队列 先进先出,相当于排队买车票 // 队列 Queue<string> queueList = new Queue<string>(); // 入队 queueList.Enqueue("张三"); queueList.Enqueue("李四"); queueList.Enqueue("王五"); // 出队 queueList.Dequeue(); // 清…
2022/8/23 14:25:20 人评论 次浏览 -
js数据结构与算法-队列的实现和击鼓传花案例
队列的实现 和栈的实现相似,但是这里使用对象的方式,对象的key是数字的实现,类似数组。/*** 队列*/ class Queue {#count = 0; //队列最大数量#lowestCount = 0; //目前第一个元素的下标#items = {}; //队列constructor() { }//增加元素enqueue(element) {this.#items[…
2022/8/20 14:25:13 人评论 次浏览 -
力扣|Q1834单线程CPU-SingleThreadedCPU
Q1834SingleThreadedCPU 简介 给你一个二维数组 tasks,用于表示 n 项从 0 到 n - 1 编号的任务。其中 tasks[i] = [enqueueTimei, processingTimei] 意味着第 i 项任务将会于 enqueueTimei 时进入任务队列,需要 processingTimei 的时长…
2022/8/17 6:23:08 人评论 次浏览 -
Java AQS锁实现原理
整体介绍 概念 首先阅读一下类的源码注释,可以知道,这几个接口是最关键的。 这几个方法是使用AQS类的关键,只有这几个方法是可以定制的,其他方法几乎都是final的,不可修改。 从代码实现上看,能看到的变量几乎都是volatile的,能看到的方法几乎都是CAS或者Unsa…
2022/8/15 1:54:48 人评论 次浏览