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

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

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