Package org.grails.buffer
Class StringCharArrayAccessor
- java.lang.Object
-
- org.grails.buffer.StringCharArrayAccessor
-
public class StringCharArrayAccessor extends java.lang.ObjectProvides 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 "stringchararrayaccessor.disabled" disables this hack. -Dstringchararrayaccessor.disabled=true Read JSR-133, "9.1.1 Post-Construction Modification of Final Fields" http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringcreateString(char[] charBuf)creates a new java.lang.String by setting the char array directly to the String instance with reflection.static booleanisEnabled()static voidwriteStringAsCharArray(java.io.Writer writer, java.lang.String str)Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.Stringstatic voidwriteStringAsCharArray(java.io.Writer writer, java.lang.String str, int off, int len)Writes a portion of a string to a target java.io.Writer with direct access to the char[] of the java.lang.String
-
-
-
Method Detail
-
writeStringAsCharArray
public static void writeStringAsCharArray(java.io.Writer writer, java.lang.String str) throws java.io.IOExceptionWrites 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 outputstr- A String- Throws:
java.io.IOException- If an I/O error occurs
-
writeStringAsCharArray
public static void writeStringAsCharArray(java.io.Writer writer, java.lang.String str, int off, int len) throws java.io.IOExceptionWrites 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 outputstr- A Stringoff- Offset from which to start writing characterslen- Number of characters to write- Throws:
java.io.IOException- If an I/O error occurs
-
createString
public static java.lang.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()
-
-