public class BufferRecyclers extends Object
BufferRecycler,
JsonStringEncoder| Modifier and Type | Field and Description |
|---|---|
protected static ThreadLocal<SoftReference<JsonStringEncoder>> |
_encoderRef
This
ThreadLocal contains a SoftReference
to a BufferRecycler used to provide a low-cost
buffer recycling between reader and writer instances. |
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 byte[] |
encodeAsUTF8(String text)
Helper method for encoding given String as UTF-8 encoded
|
static BufferRecycler |
getBufferRecycler()
Main accessor to call for accessing possibly recycled
BufferRecycler instance. |
static JsonStringEncoder |
getJsonStringEncoder() |
static void |
quoteAsJsonText(CharSequence input,
StringBuilder output) |
static char[] |
quoteAsJsonText(String rawText) |
static byte[] |
quoteAsJsonUTF8(String rawText) |
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.protected static final ThreadLocal<SoftReference<JsonStringEncoder>> _encoderRef
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.public static JsonStringEncoder getJsonStringEncoder()
public static byte[] encodeAsUTF8(String text)
public static char[] quoteAsJsonText(String rawText)
public static void quoteAsJsonText(CharSequence input, StringBuilder output)
public static byte[] quoteAsJsonUTF8(String rawText)
Copyright © 2008–2019 FasterXML. All rights reserved.