Package org.apache.myfaces.util.lang
Class StringCharArrayAccessor
java.lang.Object
org.apache.myfaces.util.lang.StringCharArrayAccessor
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 Summary
Modifier and TypeMethodDescriptionstatic String
createString
(char[] charBuf) creates a new java.lang.String by setting the char array directly to the String instance with reflection.static boolean
static void
writeStringAsCharArray
(Writer writer, 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 void
writeStringAsCharArray
(Writer writer, 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 Details
-
writeStringAsCharArray
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 outputstr
- 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 outputstr
- A Stringoff
- Offset from which to start writing characterslen
- Number of characters to write- Throws:
IOException
- If an I/O error occurs
-
createString
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()
-