- 2025-01-23JAVA与数据结构-线性表
目录一.线性表的概念二.线性表的关系及分类三.数组与顺序表四.链表1.静态链表(链表的的数组底层实现)2.循环链表3.双向链表五.栈1.栈的概念2.栈的底层实现3.共享空间栈4.逆波兰表达式(后缀表达式)5.栈与递归 六.队列1.队列概念2.队列的底层实现3.循环队列七.链
- 2025-01-23【10.2】队列-设计循环队列
一、题目 设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队
- 2025-01-23回调函数 事件处理 dotnet .net 有界队列 背压机制(Backpressure)有界队列
回调函数事件处理dotnet.net有界队列背压机制(Backpressure)有界队列通过有界队列来实现背压,确保生产者不会以超过消费者处理能力的速度发送数据。usingSystem.Threading.Channels;publicclassProgram{staticasyncTaskMain(string[]args){//创
- 2025-01-22Java 并发
目录线程多线程原理多线程的常用方法Thread类创建线程四种方式继承Thread类实现Runnable接口实现Callable接口FutureTask使用匿名内部类方式Thread和Runnable的区别Runnable和Callable的区别线程的run()和start()有什么区别?线程安全线程安全线程同步同步代码块同
- 2025-01-21【Linux网络】深入理解linux内核网络性能优化
一、网络请求优化1.1减少不必要的网络IO在系统设计与开发过程中,应尽量避免不必要的网络I/O操作,尤其是在可以通过本地进程或内存内完成的场景下,避免使用网络通信来实现。网络虽然是现代分布式系统中的核心组件,能够连接不同模块、简化开发流程,并支持大规模系统的构建,但滥用网络会
- 2025-01-21消息队列篇--原理篇--Pulsar(Namespace,BookKeeper,类似Kafka甚至更好的消息队列)
ApachePulusar是一个分布式、多租户、高性能的发布/订阅(Pub/Sub)消息系统,最初由Yahoo开发并开源。它结合了Kafka和传统消息队列的优点,提供高吞吐量、低延迟、强一致性和可扩展的消息传递能力,适用于大规模分布式系统的实时数据处理和异步通信。Pulsar的架构设计结合了消息队
- 2025-01-21消息队列篇--原理篇--RabbitMQ和Kafka对比分析
RabbitMQ和Kafka是两种非常流行的消息队列系统,但它们的设计哲学、架构特点和适用场景存在显著差异。对比如下。1、架构设计RabbitMQ:基AMQP协议:RabbitMQ是基于AMQP(高级消息队列协议)构建的,支持多种消息传递模式,如发布/订阅、路由、RPC等。单片架构:RabbitMQ采用的是传统的Br
- 2025-01-21高性能队列Disruptor的初体验
初探Disruptor1.概述Disruptor是一个高性能、低延迟的无锁队列替代方案,最初由LMAX公司开发,专为处理高吞吐量和低延迟的消息传递系统而设计。它利用环形缓冲区(RingBuffer)和无锁的生产者-消费者模型,大幅提升并发性能。相比传统的基于java.util.concurrent的队列(如ArrayBl
- 2025-01-21【LeetCode 刷题】栈与队列-基础操作
此博客为《代码随想录》字符串章节的学习笔记,主要内容为栈与队列基础操作相关的题目解析。文章目录232.用栈实现队列225.用队列实现栈232.用栈实现队列题目链接classMyQueue:def__init__(self):self.in_s,self.out_s=[],[]
- 2025-01-21232. 用栈实现队列
题目没想透的一点:对于要实现的队列的pop操作,其实先看输出栈是否为空,如果不为空,直接从输出栈弹出即可,如果为空,再将输入栈的元素依次压入输出栈(注意是全部压入输出栈,毕竟输入栈的最下面的那个元素其实是我们想要弹出的元素),再弹出输出栈的栈顶元素。卡哥思路讲得很清晰,跟着卡哥代码
- 2025-01-21单调队列:实用而好写的数据结构
前言|Preface这几天连续做了好几道单调队列的题,难度从绿到蓝不等,摸索出了一些经验,也总结了一些单调队列的特点和规律。概述|Outline顾名思义,单调队列的重点分为「单调」和「队列」。「单调」指的是元素的「规律」——递增(或递减)。「队列」指的是元素只能从队头和队尾进
- 2025-01-20【Java面试】RabbitMQ
RabbitMQ是什么?RabbitMQ是一款开源的、基于Erlang语言编写的消息中间件,遵循AMQP协议(AdvancedMessageQueuingProtocol )。RabbitMQ核心概念生产者(Producer):发送消息的一方。消费者(Consumer):接收消息的一方。消息队列(Queue):存储消息的容器,消息最终被发送到这里。交换器(Exch
- 2025-01-20StackOrQueueOJ2:用队列实现栈
目录题目描述思路分析创建由队列实现的栈出栈压栈销毁代码展示题目描述原题:225.用队列实现栈思路分析这题我们需要知道栈和队列的差异,栈是先进后出,但队列是先进先出;出队列和出栈有冲突:创建由队列实现的栈这里我们要注意:如果使用MyStack*st创建,那是局部变
- 2025-01-20RabbitMQ 及 java 使用
目录1.消息中间件概述1.1.什么是消息中间件1.2.AMQP和JMS1.2.1.AMQP1.2.2.JMS1.2.3.AMQP与JMS区别1.3.消息队列产品1.4.RabbitMQ2.RabbitMQ入门2.1.搭建示例工程2.1.1.创建工程2.1.2.添加依赖2.2.编写生产者2.3.编写消费者2.4.小结3.AMQP3.1.相关概念介绍3.
- 2025-01-20C# PriorityQueue优先队列
namespacePriorityQueueDemo{publicclassTask{publicstringName{get;set;}}publicclassTaskPriorityComparer:IComparer<(int,int)>{publicintCompare((int,int)x,(int,int)y){
- 2025-01-20SpringBoot整合RabbitMQ
RabbitMQ简介消息中间件:它接收消息并且转发,就类似于一个快递站,卖家把快递通过快递站,送到我们的手上,MQ也是这样,接收并存储消息,再转发。RabbitMQ在2007年由Rabbit科技有限公司发布,是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中
- 2025-01-19LeetCode栈和队列
栈和队列LeetCode栈和队列刷题记录基础知识栈线性表,只允许在表的一段进行插入和删除操作,满足先进后出原则栈在python中没有特定的类或库函数,一般通过列表(list)或是collections.deque双端队列来实现liststack=[]stack.append(1)#压栈stack.append(2)print(st
- 2025-01-19【C++】了解stack和queue
目录stack介绍栈的结构栈接口的使用栈的基本题目最小栈栈的弹出压入序列二叉树的分层遍历栈的模拟实现stack.h文件队列的介绍队列的结构队列接口的使用队列的模拟实现priority_queue的介绍和使用接口使用优先级队列的题目应用数组中第k大的数字优先级队列的
- 2025-01-19Java线程相关知识及线程池学习二
阻塞队列定义在Java中,阻塞队列(BlockingQueue)是一种线程安全的队列。阻塞队列是Java并发包(java.util.concurrent)中的一个重要组件,常用于生产者-消费者模式中,一个线程产生数据放入队列,另外一个从队列取出数据进行消费。主要有两种情况在尝试添加元素到队列中时,如果队列已
- 2025-01-19偷偷的学Java
序章:为何要偷偷学Java?•Java,不仅仅是一种编程语言• 偷偷学Java,快速提升你的竞争力•Java学习秘籍第一章:Java的神秘面纱•Java的起源与发展历程•Java的生态系统与应用场景•Java与其他编程语言的比较第二章:搭建你的Java秘密基地•安装Java开发工具包(JDK):不被发现
- 2025-01-19操作系统之进程管理
进程管理1、进程进程简单点来说就是正在运行的程序就算是一个进程,它是一个动态的运行的过程,没有运行的程序只能算是一段代码,不能称为进程。进程是计算机进行资源管理和调度的独立单位。特征有五大特征结构性:进程由三部分组成,程序+数据+PCB(进程控制块)动态性:进程可以看作是
- 2025-01-18Java并发编程——线程池(基础,使用,拒绝策略,命名,提交方式,状态)
我是一个计算机专业研0的学生卡蒙Camel
- 2025-01-18[ABC389C] Snake Queue题解
前情题意:问题陈述有一个(蛇)队列。最初,队列是空的。你会得到\(Q\)个查询,这些查询应按给出的顺序处理。查询有三种类型:类型\(1\):以1l的形式给出。一条长度为\(l\)的蛇会被添加到队列的末尾。如果添加前队列为空,则新添加的蛇的头部位置为\(0\);否则,它就是队列中最后
- 2025-01-18单调队列优化dp
一本通题解T2:再也不想碰这道题了。。。写了一下午。我们先设状态\(dp[i][j]\)表示前i个刷匠,考虑了前\(j\)个木板后所获得的最大价值(\(j\)个木板可以有空余)。然后枚举前\(i\)个刷匠,枚举每一条木板。对于一条木板可以此刷匠根本不刷,或不刷当前木板,状转方程:\[dp[i][j]
- 2025-01-18系统编程(进程通信--消息队列)
消息队列概念:消息队列就是一个消息的链表,提供了一种由一个进程向另一个进程发送块数据的方法。另外,每一个数据块被看作有一个类型,而接收进程可以独立接收具有不同类型的数据块,在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。优点:1.通过发