public abstract class WeakObjectPool<T,E extends Throwable> extends Object
getObject()
and (repool(Object)
. Objects are held through
weak references so even objects that are not repooled are subject to garbage collection.
Subclasses must implement the abstract createObject()
.
Internally, the pool is stored in a java.util.concurrent.LinkedBlockingDeque instance.
Modifier | Constructor and Description |
---|---|
protected |
WeakObjectPool()
The lone constructor.
|
Modifier and Type | Method and Description |
---|---|
protected abstract T |
createObject()
Called whenever a new pool object is desired; subclasses must implement.
|
T |
getObject()
Subclasses can subclass to return a more specific type.
|
boolean |
repool(T obj)
Adds the given object to the pool, provided that the object
was created by this pool.
|
protected abstract T createObject() throws E extends Throwable
public T getObject() throws E extends Throwable
public boolean repool(T obj)
obj
- the object to return to the poolCopyright © 2000–2020 The Apache Software Foundation. All rights reserved.