--- old/src/share/classes/java/lang/StringCoding.java 2012-05-29 10:41:15.000000000 -0700 +++ new/src/share/classes/java/lang/StringCoding.java 2012-05-29 10:41:15.000000000 -0700 @@ -250,6 +250,7 @@ static char[] decode(byte[] ba, int off, int len) { String csn = Charset.defaultCharset().name(); try { + // use charset name decode() variant which provides caching. return decode(csn, ba, off, len); } catch (UnsupportedEncodingException x) { warnUnsupportedCharset(csn); @@ -382,6 +383,7 @@ static byte[] encode(char[] ca, int off, int len) { String csn = Charset.defaultCharset().name(); try { + // use charset name encode() variant which provides caching. return encode(csn, ca, off, len); } catch (UnsupportedEncodingException x) { warnUnsupportedCharset(csn);