Package org.apache.tomcat.util.collections

## Class SynchronizedStack<T>

- java.lang.Object
- - org.apache.tomcat.util.collections.SynchronizedStack<T>

Type Parameters:
  `T` - The type of object managed by this stack

Direct Known Subclasses:
  `AbstractProtocol.RecycledProcessors`

    public class SynchronizedStack<T>
    extends java.lang.Object

This is intended as a (mostly) GC-free alternative to `Stack` when the requirement is to create a pool of re-usable objects with no requirement to shrink the pool. The aim is to provide the bare minimum of required functionality as quickly as possible with minimum garbage.

### Field Summary

Fields
`static int` `DEFAULT_SIZE`

### Constructor Summary

Constructors
`SynchronizedStack()`
`SynchronizedStack​(int size, int limit)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `clear()`
`T` `pop()`
`boolean` `push​(T obj)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_SIZE

    public static final int DEFAULT_SIZE

See Also:
  Constant Field Values

### Constructor Detail

#### SynchronizedStack

    public SynchronizedStack()

#### SynchronizedStack

    public SynchronizedStack​(int size,
                             int limit)

### Method Detail

#### push

    public boolean push​(T obj)

#### pop

    public T pop()

#### clear

    public void clear()