Inefficient use StringBuffer or StringBuilder[Optimization|clean-up] The string addition in the parameter will create another string buffer, append all the components, then convert that to a string so the you can be appended to your string buffer.
So I replace this: sb.append(" xxx: [" + getXXX() + "]\n"); for this: sb.append(" xxx: [").append(getXXX()).append("]\n"); The classes are: -- sun sun.awt.datatransfer.SunClipboard sun.font.Decoration sun.font.StandardGlyphVector sun.management.Agent sun.net.www.MimeEntry sun.reflect.annotation.AnnotationType sun.tools.jstatd.RemoteHostImpl sun.security.acl.AclEntryImpl sun.security.krb5.internal.crypto.dk.DkCrypto sun.security.krb5.KrbException sun.security.pkcs.SigningCertificateInfo sun.security.ssl.HandshakeMessage sun.security.x509.PolicyInformation sun.security.x509.X509CRLImpl The diff bellow: diff --git a/src/share/classes/sun/management/Agent.java b/src/share/classes/sun/management/Agent.java --- a/src/share/classes/sun/management/Agent.java +++ b/src/share/classes/sun/management/Agent.java @@ -497,7 +497,7 @@ } else { StringBuffer message = new StringBuffer(params[0]); for (int i = 1; i < params.length; i++) { - message.append(" " + params[i]); + message.append(" ").append(params[i]); } error(key, message.toString()); } diff --git a/src/share/classes/sun/reflect/annotation/AnnotationType.java b/src/share/classes/sun/reflect/annotation/AnnotationType.java --- a/src/share/classes/sun/reflect/annotation/AnnotationType.java +++ b/src/share/classes/sun/reflect/annotation/AnnotationType.java @@ -205,11 +205,11 @@ * For debugging. */ public String toString() { - StringBuffer s = new StringBuffer("Annotation Type:" + "\n"); - s.append(" Member types: " + memberTypes + "\n"); - s.append(" Member defaults: " + memberDefaults + "\n"); - s.append(" Retention policy: " + retention + "\n"); - s.append(" Inherited: " + inherited); + StringBuffer s = new StringBuffer("Annotation Type:").append("\n"); + s.append(" Member types: " ).append( memberTypes ).append( "\n"); + s.append(" Member defaults: " ).append( memberDefaults ).append( "\n"); + s.append(" Retention policy: " ).append( retention ).append( "\n"); + s.append(" Inherited: " ).append( inherited); return s.toString(); } } diff --git a/src/share/classes/sun/font/Decoration.java b/src/share/classes/sun/font/Decoration.java --- a/src/share/classes/sun/font/Decoration.java +++ b/src/share/classes/sun/font/Decoration.java @@ -430,12 +430,12 @@ StringBuffer buf = new StringBuffer(); buf.append(super.toString()); buf.append("["); - if (fgPaint != null) buf.append("fgPaint: " + fgPaint); - if (bgPaint != null) buf.append(" bgPaint: " + bgPaint); + if (fgPaint != null) buf.append("fgPaint: ").append(fgPaint); + if (bgPaint != null) buf.append(" bgPaint: ").append(bgPaint); if (swapColors) buf.append(" swapColors: true"); if (strikethrough) buf.append(" strikethrough: true"); - if (stdUnderline != null) buf.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) buf.append(" imUnderline: " + imUnderline); + if (stdUnderline != null) buf.append(" stdUnderline: ").append(stdUnderline); + if (imUnderline != null) buf.append(" imUnderline: ").append(imUnderline); buf.append("]"); return buf.toString(); } diff --git a/src/share/classes/sun/net/www/MimeEntry.java b/src/share/classes/sun/net/www/MimeEntry.java --- a/src/share/classes/sun/net/www/MimeEntry.java +++ b/src/share/classes/sun/net/www/MimeEntry.java @@ -297,7 +297,7 @@ if (needSeparator) { buf.append(separator); } - buf.append("application=" + command); + buf.append("application=").append(command); needSeparator = true; } @@ -305,7 +305,7 @@ if (needSeparator) { buf.append(separator); } - buf.append("icon=" + getImageFileName()); + buf.append("icon=").append(getImageFileName()); needSeparator = true; } @@ -314,7 +314,7 @@ if (needSeparator) { buf.append(separator); } - buf.append("file_extensions=" + extensions); + buf.append("file_extensions=").append(extensions); needSeparator = true; } @@ -323,7 +323,7 @@ if (needSeparator) { buf.append(separator); } - buf.append("description=" + description); + buf.append("description=" ).append(description); } return buf.toString(); diff --git a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java +++ b/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java @@ -68,7 +68,7 @@ sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { - sb.append("?mode=" + mode); + sb.append("?mode=").append(mode); } String vmidStr = sb.toString(); diff --git a/src/share/classes/sun/font/StandardGlyphVector.java b/src/share/classes/sun/font/StandardGlyphVector.java --- a/src/share/classes/sun/font/StandardGlyphVector.java +++ b/src/share/classes/sun/font/StandardGlyphVector.java @@ -1894,7 +1894,7 @@ } } catch(Exception e) { - buf.append(" " + e.getMessage()); + buf.append(" ").append(e.getMessage()); } buf.append("}"); diff --git a/src/share/classes/sun/awt/datatransfer/SunClipboard.java b/src/share/classes/sun/awt/datatransfer/SunClipboard.java --- a/src/share/classes/sun/awt/datatransfer/SunClipboard.java +++ b/src/share/classes/sun/awt/datatransfer/SunClipboard.java @@ -87,7 +87,7 @@ public SunClipboard(String name) { super(name); - CLIPBOARD_FLAVOR_LISTENER_KEY = new StringBuffer(name + "_CLIPBOARD_FLAVOR_LISTENER_KEY"); + CLIPBOARD_FLAVOR_LISTENER_KEY = new StringBuffer(name).append("_CLIPBOARD_FLAVOR_LISTENER_KEY"); } public synchronized void setContents(Transferable contents, diff --git a/src/share/classes/sun/security/acl/AclEntryImpl.java b/src/share/classes/sun/security/acl/AclEntryImpl.java --- a/src/share/classes/sun/security/acl/AclEntryImpl.java +++ b/src/share/classes/sun/security/acl/AclEntryImpl.java @@ -147,7 +147,7 @@ s.append("Group."); else s.append("User."); - s.append(user + "="); + s.append(user).append("="); Enumeration<Permission> e = permissions(); while(e.hasMoreElements()) { Permission p = e.nextElement(); diff --git a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java +++ b/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java @@ -640,7 +640,7 @@ for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { - digestString.append("0" + + digestString.append("0").append( Integer.toHexString(digest[i] & 0x000000ff)); } else { digestString.append( diff --git a/src/share/classes/sun/security/ssl/HandshakeMessage.java b/src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/src/share/classes/sun/security/ssl/HandshakeMessage.java +++ b/src/share/classes/sun/security/ssl/HandshakeMessage.java @@ -1478,7 +1478,7 @@ boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - buffer.append(", " + signAlg.getAlgorithmName()); + buffer.append(", ").append(signAlg.getAlgorithmName()); } else { buffer.append(signAlg.getAlgorithmName()); opened = true; diff --git a/src/share/classes/sun/security/krb5/KrbException.java b/src/share/classes/sun/security/krb5/KrbException.java --- a/src/share/classes/sun/security/krb5/KrbException.java +++ b/src/share/classes/sun/security/krb5/KrbException.java @@ -96,7 +96,7 @@ public String krbErrorMessage() { - StringBuffer strbuf = new StringBuffer("krb_error " + returnCode); + StringBuffer strbuf = new StringBuffer("krb_error ").append(returnCode); String msg = getMessage(); if (msg != null) { strbuf.append(" "); diff --git a/src/share/classes/sun/security/x509/PolicyInformation.java b/src/share/classes/sun/security/x509/PolicyInformation.java --- a/src/share/classes/sun/security/x509/PolicyInformation.java +++ b/src/share/classes/sun/security/x509/PolicyInformation.java @@ -258,8 +258,8 @@ * Return a printable representation of the PolicyInformation. */ public String toString() { - StringBuilder s = new StringBuilder(" [" + policyIdentifier.toString()); - s.append(policyQualifiers + " ]\n"); + StringBuilder s = new StringBuilder(" [").append( policyIdentifier.toString()); + s.append(policyQualifiers).append(" ]\n"); return s.toString(); } diff --git a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java +++ b/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java @@ -158,8 +158,8 @@ } buffer.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - buffer.append("\n\tIssuer: " + issuer + "\n"); - buffer.append("\t" + serialNumber); + buffer.append("\n\tIssuer: " ).append( issuer ).append( "\n"); + buffer.append("\t").append( serialNumber); } buffer.append("\n]"); return buffer.toString(); -- Atenciosamente. Otávio Gonçalves de Santana blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: http://www.otaviojava.com.br (11) 98255-3513