(3)队列

队列相比与栈的特点是先进先出,和日常生活中的排队是一样的。
写一个简单队列:


public class Queue {
    private Object[] data;
    private int maxSize;    //队列的最大长度
    private int front;      //队头
    private int rear;       //队尾
    private int length;     //队列当前长度

    public Queue(int size){ //初始化队列
        this.maxSize = size;
        this.front = this.rear = 0;
        this.data = new Object[maxSize];
    }

    public boolean empty(){ //  判断队列是否为空
        return this.length == 0;
    }

    public void insert(Object o){ //入队
        if(maxSize == rear){
            System.out.println("队满");
            return;
        }else{
            data[rear] = o;
            rear = (rear + 1)%maxSize;
            length ++;
        }
    }

    public void peek(){ //查看队首元素
        if(empty()){
            System.out.println("队列为空!");  
            return;
        }   
        System.out.println(data[front]);
    }

    public void delete(){   //出队
        if(empty()){
            System.out.println("队列为空!");  
            return;
        }
        data[front] = null; //释放队首元素
        front = (front+1)%maxSize;  //队首指针加1
        length-- ;  //队列实际长度-1
    }

    public void printQueue() {  
        if(empty()) {  
            System.out.println("队列为空!");  
            return;  
        } 
        for(int i = 0; i < length; i++) {  
            System.out.print(data[front++ %maxSize] + " ");  
        }
    } 

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 3结合RabbitMQ实现死信队列是一种在消息中间件中处理无法正常消费消息的机制。死信队列(Dead-Letter Queue, DLQ)通常用于存储那些无法被消费的消息。在RabbitMQ中,消息如果能被消费者正确处理,经过一定次数的重试后仍失败,这些消息就会被发送到死信队列中。这样,开发者可以对这些消息进行后续处理,比如记录日志、发送警报、重试或者人工介入处理等。 在Spring Boot 3中配置和使用死信队列通常涉及以下几个步骤: 1. 定义常规队列和死信队列: - 首先需要在RabbitMQ服务器上创建常规队列和对应的死信队列。 - 设置常规队列的x-dead-letter-exchange参数,将其指向死信交换机;设置x-dead-letter-routing-key参数,指定死信的路由键。 2. 在Spring Boot应用中配置RabbitMQ连接和模板: - 使用@EnableRabbit和@RabbitListener等注解来启用RabbitMQ的支持,并配置连接工厂、模板等。 3. 实现消息监听器: - 创建一个消息监听器来监听常规队列的消息。 - 在监听器中处理消息,并在出现异常时实现消息的重试逻辑。 4. 配置死信交换机和队列的监听器: - 同样使用@RabbitListener注解来监听死信队列,以便处理那些无法被处理的消息。 使用死信队列的好处在于它提供了一种机制来防止消息处理失败导致的消息丢失,同时允许开发者有更多的时间和手段来处理这些难以消费的消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值