Java 内部的消息队列主要有以下几种:

    队列 有界性 结构 队列类型
    ArrayBlockingQueue 有界 加锁 数组 阻塞
    LinkedBlockingQueue 可选 加锁 链表 阻塞
    ConcurrentLinkedQueue 无界 无锁 链表 非阻塞
    LinkedTransferQueue 无界 无锁 链表 阻塞
    PriorityBlockingQueue 无界 加锁 阻塞
    DelayQueue 无界 加锁 阻塞

    通常情况下为防止生产者速度过快导致内存溢出,只能选择有界队列;为了减少垃圾回收对系统性能的影响,会尽量选择 Array/Heap 格式的数据结构,因此符合条件的队列就只有 ArrayBlockingQueue,但其底层使用加锁的方式进行处理,在高并发环境下效率低下,Disruptor 因此应运而生
    Disruptor 类似 ArrayBlockingQueue,是一个高性能的线程间异步通信的队列框架( 即在同一个JVM进程中的多线程间消息传递 )一般用于线程间消息的传递。官方宣称基于Disruptor开发的系统单线程能支撑每秒600万订单