Java 消息队列的简单实现

Java 消息队列的简单实现今天被小伙伴问到怎么用Java实现消息队列。这种实现的例子其实CSDN或者度娘其实一大堆。先说说队列的一个场景,假设你的服务器只能扛50个请求。

欢迎大家来到IT世界,在知识的湖畔探索吧!

今天被小伙伴问到怎么用Java实现消息队列。这种实现的例子其实CSDN或者度娘其实一大堆。

先说说队列的一个场景,假设你的服务器只能扛50个请求。但是某一时刻的峰值服务器收到了2000个请求。这时候你就需要把它做成队列来处理了,然后根据先进先出的顺序来处理。

这里我们使用LinkedList来实现。看下面的代码

import java.util.LinkedList;

public class MyQueue<T> {
    private final LinkedList<T> queue=new LinkedList<>();

    public synchronized void push(T e){
        queue.addFirst(e);
    }

    public T peek(){
        return queue.getLast();
    }

    public void pop(){
        queue.removeLast();
    }

    public boolean empty(){
        return !queue.isEmpty();
    }

    @Override
    public String toString(){
        return queue.toString();
    }
}

欢迎大家来到IT世界,在知识的湖畔探索吧!

然后我们写一个测试类。我们构建一个场景,我们给一个字符串,比如 “这是一个先进先出的队列”,然后我们把这个字符串切割成单个字符,每个字符后面接一个星号和原字符串区别开。

欢迎大家来到IT世界,在知识的湖畔探索吧!public class QueueTest {
    public static void main(String[] args) {
        MyQueue<String> queue=new MyQueue<>();

        for(char s:"这是一个先进先出的队列".toCharArray()){
            queue.push(String.valueOf(s));
        }

        while (queue.empty()){
            System.out.print(queue.peek()+"*");
            queue.pop();
        }
    }
}

最后看一下执行效果。

Java 消息队列的简单实现

输出的效果

至此,队列实现了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/48766.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信