Class StringCharArrayAccessor


  • public class StringCharArrayAccessor
    extends Object
    Provides optimized access to java.lang.String internals - Optimized way of creating java.lang.String by reusing a char[] buffer - Optimized way of writing String to java.io.Writer java.lang.String creation reusing a char[] buffer requires Java 1.5+ System property "oam.stringchararrayaccessor.enabled" enables this hack. -Doam.stringchararrayaccessor.enabled=true Read JSR-133, "9.1.1 Post-Construction Modification of Final Fields" http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf
    Author:
    Lari Hotari, Sagire Software Oy see org.codehaus.groovy.grails.web.util.StreamCharBuffer file licensed under ASL v2.0 Copyright 2009 the original author or authors.
    • Method Detail

      • writeStringAsCharArray

        public static void writeStringAsCharArray​(Writer writer,
                                                  String str)
                                           throws IOException
        Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
        Parameters:
        writer - target java.io.Writer for output
        str - A String
        Throws:
        IOException - If an I/O error occurs
      • writeStringAsCharArray

        public static void writeStringAsCharArray​(Writer writer,
                                                  String str,
                                                  int off,
                                                  int len)
                                           throws IOException
        Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
        Parameters:
        writer - target java.io.Writer for output
        str - A String
        off - Offset from which to start writing characters
        len - Number of characters to write
        Throws:
        IOException - If an I/O error occurs
      • createString

        public static String createString​(char[] charBuf)
        creates a new java.lang.String by setting the char array directly to the String instance with reflection.
        Parameters:
        charBuf - char array to be used as java.lang.String content, don't modify it after passing it.
        Returns:
        new java.lang.String
      • isEnabled

        public static boolean isEnabled()