private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
IOException
int capacity
AtomicInteger count
ReentrantLock takeLock
Condition notEmpty
ReentrantLock putLock
Condition notFull