LinkedBlockingQueue源码分析

作为线程池中经常使用的阻塞队列,在分析了ArrayBlockingQueue之后,再来看一下LinkedBlockingQueue的实现。

LinkedBlockingQueue的签名如下

public class LinkedBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue&l......

ArrayBlockingQueue源码分析

今天来看一下ArrayBlockingQueue的源码。从名字上看,能够推测,它使用Array来存储数据,实现了Queue这种数据结构,同时它提供了阻塞的入队和出队操作。事实也是如此。

它的签名如下

public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQue......

Stack&Vector源码分析

今天来分析一下Stack的源码。还是先看一下Stack类的声明。

public class Stack<E> extends Vector<E>

可以看到Stack类扩展了Vector类,这点有些出乎人的意料。不读源码的话,我想我是不会猜到Stack类竟然还会是Vector的子类。我们知道Vector是一种线程安全的数据结构,而我们前面分析的LinkedList......