public class BufferRecyclers extends Object
BufferRecycler| Modifier and Type | Field and Description |
|---|---|
protected static ThreadLocal<SoftReference<BufferRecycler>> |
_recyclerRef
This
ThreadLocal contains a SoftReference
to a BufferRecycler used to provide a low-cost
buffer recycling between reader and writer instances. |
static String |
SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS
System property that is checked to see if recycled buffers (see
BufferRecycler)
should be tracked, for purpose of forcing release of all such buffers, typically
during major classloading. |
| Constructor and Description |
|---|
BufferRecyclers() |
| Modifier and Type | Method and Description |
|---|---|
static BufferRecycler |
getBufferRecycler()
Main accessor to call for accessing possibly recycled
BufferRecycler instance. |
static int |
releaseBuffers()
Specialized method that will release all recycled
BufferRecycler if
(and only if) recycler tracking has been enabled
(see SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS). |
public static final String SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS
BufferRecycler)
should be tracked, for purpose of forcing release of all such buffers, typically
during major classloading.protected static final ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
ThreadLocal contains a SoftReference
to a BufferRecycler used to provide a low-cost
buffer recycling between reader and writer instances.public static BufferRecycler getBufferRecycler()
BufferRecycler instance.public static int releaseBuffers()
BufferRecycler if
(and only if) recycler tracking has been enabled
(see SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS).
This method is usually called on shutdown of the container like Application Server
to ensure that no references are reachable via ThreadLocals as this may cause
unintentional retention of sizable amounts of memory. It may also be called regularly
if GC for some reason does not clear up SoftReferences aggressively enough.Copyright © 2008–2019 FasterXML. All rights reserved.