Class TemporaryBuffers


  • public final class TemporaryBuffers
    extends java.lang.Object
    ThreadLocal buffers for use when creating new derived objects such as Strings. These buffers are reused within a single thread - it is _not safe_ to use the buffer to generate multiple derived objects at the same time because the same memory will be used. In general, you should get a temporary buffer, fill it with data, and finish by converting into the derived object within the same method to avoid multiple usages of the same buffer.

    This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.ThreadLocal<char[]> CHAR_ARRAY  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private TemporaryBuffers()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static char[] chars​(int len)
      A ThreadLocal char[] of size len.
      (package private) static void clearChars()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CHAR_ARRAY

        private static final java.lang.ThreadLocal<char[]> CHAR_ARRAY
    • Constructor Detail

      • TemporaryBuffers

        private TemporaryBuffers()
    • Method Detail

      • chars

        public static char[] chars​(int len)
        A ThreadLocal char[] of size len. Take care when using a large value of len as this buffer will remain for the lifetime of the thread. The returned buffer will not be zeroed and may be larger than the requested size, you must make sure to fill the entire content to the desired value and set the length explicitly when converting to a String.
      • clearChars

        static void clearChars()