Java中的队列

本文介绍了Java中的队列,包括队列的基本概念和循环队列的判断。重点讲解了阻塞队列如ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue、DelayQueue和SynchronousQueue的特点及应用场景。同时提到了非阻塞队列如ConcurrentLinkedQueue和PriorityQueue,以及在使用队列时推荐的方法,如offer()、poll()、element()和peek()等。
摘要由CSDN通过智能技术生成

什么是队列

Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构
消息队列是用来解决这样的问题的:将突发的大量请求转换为服务器能够处理的队列请求。eg:在一个秒杀活动中,服务器1秒可以处理100条请求。而在秒杀活动开启时1秒进来1000个请求并且持续10秒。这个时候就需要将这10000个请求放入消息队列里面,后端按照原来的能力处理,用100秒将队列中的请求处理完毕。这样就不会导致宕机。
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。
在这里插入图片描述

循环队列
队空:队头指针在队尾指针的下一位置时,队空: Q.front == Q.rear;
队满:(Q.rear+1)%MAXSIZE=Q.front ,
队满:当队头和队尾指针在同一位置时;
队列长度:(Q.rear - Q.front + MAXSIZE) % MAXSIZE

队列的分类

  • 阻塞队列
    实现blockqueue接口的五个阻塞队列&#x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值