1. 队列是先进先出,类似栈操作受限
    2. 具有高级特性的队列:Disruptor、Linux环形队列,Java concurrent中的ArrayBlockingQueue
    3. 队列的一般实现方式:数组、链表
    4. 队列使用两个指针:head,tail实现;tail一般指向一个空节点,也可以使用一个额外的size记录队列当前长度来防止这个空节点浪费(实际上这个记录size的变量也占用空间了)
    5. 一般数组队列在tail指向数组最后一个位置后就满了,需要做数据搬移操作:把队列从头到尾搬移到数组从0开始的位置; 如果数组满了就新建更大数组整体搬移;
    6. 列表队列没有数组长度限制,实现比数组简单
    7. 可以使用循环队列解决一般数组队列的搬运问题,实现重点:队列满和空的判定条件(空: **tail == head**,满:**(tail + 1) % n ==head**)
    8. 阻塞队列:队满时挂起请求直到队列有空,并发队列:线程安全对接(待续)
    9. 队满时的处理策略:1、直接拒绝非阻塞 2、请求排队挂起(链表方式:无界,可能导致等待时间过长,数组方式:超过大小时拒绝防止等待过长,但是大小设置需要结合业务合理设置)
    10. cas数组队列如何实现高并发?