Package com.fasterxml.jackson.core.util
Class BufferRecyclers
- java.lang.Object
-
- com.fasterxml.jackson.core.util.BufferRecyclers
-
public class BufferRecyclers extends java.lang.ObjectHelper entity used to control access to simple buffer recyling scheme used for some encoding, decoding tasks.- Since:
- 2.9.2
- See Also:
BufferRecycler
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERSSystem property that is checked to see if recycled buffers (seeBufferRecycler) should be tracked, for purpose of forcing release of all such buffers, typically during major classloading.
-
Constructor Summary
Constructors Constructor Description BufferRecyclers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BufferRecyclergetBufferRecycler()Main accessor to call for accessing possibly recycledBufferRecyclerinstance.static intreleaseBuffers()Specialized method that will release all recycledBufferRecyclerif (and only if) recycler tracking has been enabled (seeSYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS).
-
-
-
Field Detail
-
SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS
public static final java.lang.String SYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS
System property that is checked to see if recycled buffers (seeBufferRecycler) should be tracked, for purpose of forcing release of all such buffers, typically during major classloading.- Since:
- 2.9.6
- See Also:
- Constant Field Values
-
-
Method Detail
-
getBufferRecycler
public static BufferRecycler getBufferRecycler()
Main accessor to call for accessing possibly recycledBufferRecyclerinstance.
-
releaseBuffers
public static int releaseBuffers()
Specialized method that will release all recycledBufferRecyclerif (and only if) recycler tracking has been enabled (seeSYSTEM_PROPERTY_TRACK_REUSABLE_BUFFERS). This method is usually called on shutdown of the container like Application Server to ensure that no references are reachable viaThreadLocals 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 upSoftReferences aggressively enough.- Returns:
- Number of buffers released, if tracking enabled (zero or more); -1 if tracking not enabled.
- Since:
- 2.9.6
-
-