专业的JAVA编程教程与资源

网站首页 > java教程 正文

我的编程手册 -- Java 基础篇·关于队列

temp10 2024-09-08 09:40:04 java教程 11 ℃ 0 评论

我们时常会疑惑队列在业务程序中的应用,其实在程序设计中的很多名词,其实都是一种约定,我们在程序设计的过程中,约定大于配置,我们与其在接口设计过程中加各类非必要情况做错误检验,异常判断,不如上下游之间做通用约定来得实在。队列就是在并发编程过程的一种约定。我们在业务开发中,基本不会自己去关注或者叫书写队列相关的事项,是因为很多轮子都被底层基础研发人员开发已经封装好了,我们只需要拿过来用就可以了。

  • 阻塞队列可以很好的帮我们理解Dubbo的相关知识点。其更像是Zookeeper 在Dubbo担当注册中心的角色。生产者负责向队列中写入消息或其他任何事务,而队列负责让这些消息出队的执行顺序在某一个时间块上和入队时保持一致。也就是我们常见的阻塞队列了。
  • 先进先出(FIFO):先插入的队列的元素也最先出队列,类似于排队的功能。从某种程度上来说这种队列也体现了一种公平性。
  • 后进先出(LIFO):后插入队列的元素最先出队列,这种队列优先处理最近发生的事件。
  • 阻塞队列中数据的操作方法网上很多实践,基本上和List集合类似,也有add()、remove() 方法。
  • 其实相关队列ArrayBlockingQueue :一个由数组支持的有界队列。LinkedBlockingQueue :一个由链接节点支持的可选有界队列。PriorityBlockingQueue :一个由优先级堆支持的无界优先级队列。DelayQueue :一个
  • 由优先级堆支持的、基于时间的调度队列。SynchronousQueue :一个利用 BlockingQueue 接口的简单聚集(rendezvous)机制。

我的编程手册 -- Java 基础篇·关于队列

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表