--- old/src/demo/share/jpda/com/sun/tools/example/debug/gui/ContextManager.java	2014-08-26 11:19:44.000000000 +0800
+++ new/src/demo/share/jpda/com/sun/tools/example/debug/gui/ContextManager.java	2014-08-26 11:19:43.000000000 +0800
@@ -338,10 +338,10 @@
             if (classpath.isEmpty()) {
                 String envcp = System.getProperty("env.class.path");
                 if ((envcp != null) && (envcp.length() > 0)) {
-                    munged.append(" -classpath " + envcp);
+                    munged.append(" -classpath ").append(envcp);
                 }
             } else {
-                munged.append(" -classpath " + classpath.asString());
+                munged.append(" -classpath ").append(classpath.asString());
             }
             return munged.toString();
         } else {
@@ -349,14 +349,4 @@
         }
     }
 
-    private String appendPath(String path1, String path2) {
-        if (path1 == null || path1.length() == 0) {
-            return path2 == null ? "." : path2;
-        } else if (path2 == null || path2.length() == 0) {
-            return path1;
-        } else {
-            return path1  + File.pathSeparator + path2;
-        }
-    }
-
 }
--- old/src/java.base/share/classes/com/sun/crypto/provider/DHParameters.java	2014-08-26 11:19:46.000000000 +0800
+++ new/src/java.base/share/classes/com/sun/crypto/provider/DHParameters.java	2014-08-26 11:19:46.000000000 +0800
@@ -131,14 +131,16 @@
     protected String engineToString() {
         String LINE_SEP = System.getProperty("line.separator");
 
-        StringBuilder sb
-            = new StringBuilder("SunJCE Diffie-Hellman Parameters:"
-                               + LINE_SEP + "p:" + LINE_SEP
-                               + Debug.toHexString(this.p)
-                               + LINE_SEP + "g:" + LINE_SEP
-                               + Debug.toHexString(this.g));
-        if (this.l != 0)
-            sb.append(LINE_SEP + "l:" + LINE_SEP + "    " + this.l);
+        StringBuilder sb = new StringBuilder();
+        sb.append("SunJCE Diffie-Hellman Parameters:").append(LINE_SEP)
+                .append("p:").append(LINE_SEP)
+                .append(Debug.toHexString(this.p)).append(LINE_SEP)
+                .append("g:").append(LINE_SEP)
+                .append(Debug.toHexString(this.g));
+        if (this.l != 0) {
+            sb.append(LINE_SEP).append("l:").append(LINE_SEP).append("    ")
+                    .append(this.l);
+        }
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/com/sun/crypto/provider/DHPublicKey.java	2014-08-26 11:19:49.000000000 +0800
+++ new/src/java.base/share/classes/com/sun/crypto/provider/DHPublicKey.java	2014-08-26 11:19:48.000000000 +0800
@@ -260,16 +260,18 @@
     public String toString() {
         String LINE_SEP = System.getProperty("line.separator");
 
-        StringBuilder sb
-            = new StringBuilder("SunJCE Diffie-Hellman Public Key:"
-                               + LINE_SEP + "y:" + LINE_SEP
-                               + Debug.toHexString(this.y)
-                               + LINE_SEP + "p:" + LINE_SEP
-                               + Debug.toHexString(this.p)
-                               + LINE_SEP + "g:" + LINE_SEP
-                               + Debug.toHexString(this.g));
-        if (this.l != 0)
-            sb.append(LINE_SEP + "l:" + LINE_SEP + "    " + this.l);
+        StringBuilder sb = new StringBuilder();
+        sb.append("SunJCE Diffie-Hellman Public Key:").append(LINE_SEP)
+                .append("y:").append(LINE_SEP)
+                .append(Debug.toHexString(this.y)).append(LINE_SEP)
+                .append("p:").append(LINE_SEP)
+                .append(Debug.toHexString(this.p))
+                .append(LINE_SEP + "g:" + LINE_SEP)
+                .append(Debug.toHexString(this.g));
+        if (this.l != 0) {
+            sb.append(LINE_SEP).append("l:").append(LINE_SEP).append("    ")
+                    .append(this.l);
+        }
         return sb.toString();
     }
 
--- old/src/java.base/share/classes/com/sun/crypto/provider/GCMParameters.java	2014-08-26 11:19:51.000000000 +0800
+++ new/src/java.base/share/classes/com/sun/crypto/provider/GCMParameters.java	2014-08-26 11:19:51.000000000 +0800
@@ -136,11 +136,11 @@
     protected String engineToString() {
         String LINE_SEP = System.getProperty("line.separator");
         HexDumpEncoder encoder = new HexDumpEncoder();
-        StringBuilder sb
-            = new StringBuilder(LINE_SEP + "    iv:" + LINE_SEP + "["
-                + encoder.encodeBuffer(iv) + "]");
-
-        sb.append(LINE_SEP + "tLen(bits):" + LINE_SEP + tLen*8 + LINE_SEP);
+        StringBuilder sb = new StringBuilder();
+        sb.append(LINE_SEP).append("    iv:").append(LINE_SEP).append('[')
+                .append(encoder.encodeBuffer(iv)).append(']').append(LINE_SEP)
+                .append("tLen(bits):").append(LINE_SEP).append(tLen * 8)
+                .append(LINE_SEP);
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java	2014-08-26 11:19:54.000000000 +0800
+++ new/src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java	2014-08-26 11:19:53.000000000 +0800
@@ -239,10 +239,12 @@
 
     protected String engineToString() {
         StringBuilder sb = new StringBuilder();
-        sb.append("MD: " + mdName + "\n");
-        sb.append("MGF: MGF1" + mgfSpec.getDigestAlgorithm() + "\n");
-        sb.append("PSource: PSpecified " +
-            (p.length==0? "":Debug.toHexString(new BigInteger(p))) + "\n");
+        sb.append("MD: ").append(mdName).append('\n');
+        sb.append("MGF: MGF1").append(mgfSpec.getDigestAlgorithm())
+                .append('\n');
+        sb.append("PSource: PSpecified ")
+                .append(p.length == 0 ? "" : Debug
+                        .toHexString(new BigInteger(p))).append('\n');
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/com/sun/crypto/provider/RC2Parameters.java	2014-08-26 11:19:56.000000000 +0800
+++ new/src/java.base/share/classes/com/sun/crypto/provider/RC2Parameters.java	2014-08-26 11:19:56.000000000 +0800
@@ -216,13 +216,13 @@
     protected String engineToString() {
         String LINE_SEP = System.getProperty("line.separator");
         HexDumpEncoder encoder = new HexDumpEncoder();
-        StringBuilder sb
-            = new StringBuilder(LINE_SEP + "    iv:" + LINE_SEP + "["
-                + encoder.encodeBuffer(iv) + "]");
+        StringBuilder sb = new StringBuilder();
+        sb.append(LINE_SEP).append("    iv:").append(LINE_SEP).append('[')
+                .append(encoder.encodeBuffer(iv)).append(']');
 
         if (version != 0) {
-            sb.append(LINE_SEP + "version:" + LINE_SEP
-                + version + LINE_SEP);
+            sb.append(LINE_SEP).append("version:").append(LINE_SEP)
+                    .append(version).append(LINE_SEP);
         }
         return sb.toString();
     }
--- old/src/java.base/share/classes/java/security/CodeSigner.java	2014-08-26 11:19:59.000000000 +0800
+++ new/src/java.base/share/classes/java/security/CodeSigner.java	2014-08-26 11:19:58.000000000 +0800
@@ -156,9 +156,9 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("(");
-        sb.append("Signer: " + signerCertPath.getCertificates().get(0));
+        sb.append("Signer: ").append(signerCertPath.getCertificates().get(0));
         if (timestamp != null) {
-            sb.append("timestamp: " + timestamp);
+            sb.append("timestamp: ").append(timestamp);
         }
         sb.append(")");
         return sb.toString();
--- old/src/java.base/share/classes/java/security/CodeSource.java	2014-08-26 11:20:01.000000000 +0800
+++ new/src/java.base/share/classes/java/security/CodeSource.java	2014-08-26 11:20:01.000000000 +0800
@@ -468,12 +468,12 @@
 
         if (this.certs != null && this.certs.length > 0) {
             for (int i = 0; i < this.certs.length; i++) {
-                sb.append( " " + this.certs[i]);
+                sb.append(' ').append(this.certs[i]);
             }
 
         } else if (this.signers != null && this.signers.length > 0) {
             for (int i = 0; i < this.signers.length; i++) {
-                sb.append( " " + this.signers[i]);
+                sb.append(' ').append(this.signers[i]);
             }
         } else {
             sb.append(" <no signer certificates>");
--- old/src/java.base/share/classes/java/security/KeyStore.java	2014-08-26 11:20:04.000000000 +0800
+++ new/src/java.base/share/classes/java/security/KeyStore.java	2014-08-26 11:20:03.000000000 +0800
@@ -610,8 +610,8 @@
          */
         public String toString() {
             StringBuilder sb = new StringBuilder();
-            sb.append("Private key entry and certificate chain with "
-                + chain.length + " elements:\r\n");
+            sb.append("Private key entry and certificate chain with ")
+                    .append(chain.length).append(" elements:\r\n");
             for (Certificate cert : chain) {
                 sb.append(cert);
                 sb.append("\r\n");
--- old/src/java.base/share/classes/java/security/PermissionCollection.java	2014-08-26 11:20:06.000000000 +0800
+++ new/src/java.base/share/classes/java/security/PermissionCollection.java	2014-08-26 11:20:06.000000000 +0800
@@ -179,13 +179,13 @@
     public String toString() {
         Enumeration<Permission> enum_ = elements();
         StringBuilder sb = new StringBuilder();
-        sb.append(super.toString()+" (\n");
+        sb.append(super.toString()).append(" (\n");
         while (enum_.hasMoreElements()) {
             try {
-                sb.append(" ");
+                sb.append(' ');
                 sb.append(enum_.nextElement().toString());
-                sb.append("\n");
-            } catch (NoSuchElementException e){
+                sb.append('\n');
+            } catch (NoSuchElementException e) {
                 // ignore
             }
         }
--- old/src/java.base/share/classes/java/security/ProtectionDomain.java	2014-08-26 11:20:08.000000000 +0800
+++ new/src/java.base/share/classes/java/security/ProtectionDomain.java	2014-08-26 11:20:08.000000000 +0800
@@ -285,34 +285,32 @@
     /**
      * Convert a ProtectionDomain to a String.
      */
-    @Override public String toString() {
+    @Override
+    public String toString() {
         String pals = "<no principals>";
         if (principals != null && principals.length > 0) {
-            StringBuilder palBuf = new StringBuilder("(principals ");
+            StringBuilder palBuilder = new StringBuilder("(principals ");
 
             for (int i = 0; i < principals.length; i++) {
-                palBuf.append(principals[i].getClass().getName() +
-                            " \"" + principals[i].getName() +
-                            "\"");
-                if (i < principals.length-1)
-                    palBuf.append(",\n");
-                else
-                    palBuf.append(")\n");
+                palBuilder.append(principals[i].getClass().getName());
+                palBuilder.append(" \"").append(principals[i].getName());
+                palBuilder.append('"');
+                if (i < principals.length - 1) {
+                    palBuilder.append(",\n");
+                } else {
+                    palBuilder.append(")\n");
+                }
             }
-            pals = palBuf.toString();
+            pals = palBuilder.toString();
         }
 
         // Check if policy is set; we don't want to load
         // the policy prematurely here
-        PermissionCollection pc = Policy.isSet() && seeAllp() ?
-                                      mergePermissions():
-                                      getPermissions();
-
-        return "ProtectionDomain "+
-            " "+codesource+"\n"+
-            " "+classloader+"\n"+
-            " "+pals+"\n"+
-            " "+pc+"\n";
+        PermissionCollection pc = Policy.isSet() && seeAllp() ? mergePermissions()
+                : getPermissions();
+
+        return "ProtectionDomain " + " " + codesource + "\n" + " "
+                + classloader + "\n" + " " + pals + "\n" + " " + pc + "\n";
     }
 
     /**
--- old/src/java.base/share/classes/java/security/Timestamp.java	2014-08-26 11:20:11.000000000 +0800
+++ new/src/java.base/share/classes/java/security/Timestamp.java	2014-08-26 11:20:10.000000000 +0800
@@ -143,10 +143,10 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("(");
-        sb.append("timestamp: " + timestamp);
+        sb.append("timestamp: ").append(timestamp);
         List<? extends Certificate> certs = signerCertPath.getCertificates();
         if (!certs.isEmpty()) {
-            sb.append("TSA: " + certs.get(0));
+            sb.append("TSA: ").append(certs.get(0));
         } else {
             sb.append("TSA: <empty>");
         }
--- old/src/java.base/share/classes/java/security/cert/CertPath.java	2014-08-26 11:20:13.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/CertPath.java	2014-08-26 11:20:13.000000000 +0800
@@ -221,20 +221,16 @@
      */
     public String toString() {
         StringBuilder sb = new StringBuilder();
-        Iterator<? extends Certificate> stringIterator =
-                                        getCertificates().iterator();
 
-        sb.append("\n" + type + " Cert Path: length = "
-            + getCertificates().size() + ".\n");
-        sb.append("[\n");
+        sb.append('\n').append(type).append(" Cert Path: length = ")
+                .append(getCertificates().size()).append(".\n").append("[\n");
         int i = 1;
-        while (stringIterator.hasNext()) {
+        for (Certificate stringCert : getCertificates()) {
             sb.append("=========================================="
-                + "===============Certificate " + i + " start.\n");
-            Certificate stringCert = stringIterator.next();
+                 + "===============Certificate ").append(i).append(" start.\n");
             sb.append(stringCert.toString());
             sb.append("\n========================================"
-                + "=================Certificate " + i + " end.\n\n\n");
+                + "=================Certificate ").append(i).append(" end.\n\n\n");
             i++;
         }
 
--- old/src/java.base/share/classes/java/security/cert/CollectionCertStoreParameters.java	2014-08-26 11:20:16.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/CollectionCertStoreParameters.java	2014-08-26 11:20:15.000000000 +0800
@@ -134,8 +134,8 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("CollectionCertStoreParameters: [\n");
-        sb.append("  collection: " + coll + "\n");
-        sb.append("]");
+        sb.append("  collection: ").append(coll).append('\n');
+        sb.append(']');
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/java/security/cert/LDAPCertStoreParameters.java	2014-08-26 11:20:18.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/LDAPCertStoreParameters.java	2014-08-26 11:20:18.000000000 +0800
@@ -141,9 +141,9 @@
         StringBuilder sb = new StringBuilder();
         sb.append("LDAPCertStoreParameters: [\n");
 
-        sb.append("  serverName: " + serverName + "\n");
-        sb.append("  port: " + port + "\n");
-        sb.append("]");
+        sb.append("  serverName: ").append(serverName).append('\n');
+        sb.append("  port: ").append(port).append('\n');
+        sb.append(']');
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/java/security/cert/PKIXBuilderParameters.java	2014-08-26 11:20:21.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/PKIXBuilderParameters.java	2014-08-26 11:20:20.000000000 +0800
@@ -192,7 +192,7 @@
         StringBuilder sb = new StringBuilder();
         sb.append("[\n");
         sb.append(super.toString());
-        sb.append("  Maximum Path Length: " + maxPathLength + "\n");
+        sb.append("  Maximum Path Length: ").append(maxPathLength).append('\n');
         sb.append("]\n");
         return sb.toString();
     }
--- old/src/java.base/share/classes/java/security/cert/PKIXCertPathBuilderResult.java	2014-08-26 11:20:23.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/PKIXCertPathBuilderResult.java	2014-08-26 11:20:22.000000000 +0800
@@ -109,11 +109,13 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("PKIXCertPathBuilderResult: [\n");
-        sb.append("  Certification Path: " + certPath + "\n");
-        sb.append("  Trust Anchor: " + getTrustAnchor().toString() + "\n");
-        sb.append("  Policy Tree: " + String.valueOf(getPolicyTree()) + "\n");
-        sb.append("  Subject Public Key: " + getPublicKey() + "\n");
-        sb.append("]");
+        sb.append("  Certification Path: ").append(certPath).append('\n');
+        sb.append("  Trust Anchor: ").append(getTrustAnchor())
+                .append('\n');
+        sb.append("  Policy Tree: ").append(getPolicyTree())
+                .append('\n');
+        sb.append("  Subject Public Key: ").append(getPublicKey()).append('\n');
+        sb.append(']');
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/java/security/cert/PKIXCertPathValidatorResult.java	2014-08-26 11:20:25.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/PKIXCertPathValidatorResult.java	2014-08-26 11:20:25.000000000 +0800
@@ -150,10 +150,10 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("PKIXCertPathValidatorResult: [\n");
-        sb.append("  Trust Anchor: " + trustAnchor.toString() + "\n");
-        sb.append("  Policy Tree: " + String.valueOf(policyTree) + "\n");
-        sb.append("  Subject Public Key: " + subjectPublicKey + "\n");
-        sb.append("]");
+        sb.append("  Trust Anchor: ").append(trustAnchor).append('\n');
+        sb.append("  Policy Tree: ").append(policyTree).append('\n');
+        sb.append("  Subject Public Key: ").append(subjectPublicKey).append('\n');
+        sb.append(']');
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/java/security/cert/PKIXParameters.java	2014-08-26 11:20:28.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/PKIXParameters.java	2014-08-26 11:20:27.000000000 +0800
@@ -698,8 +698,8 @@
 
         /* start with trusted anchor info */
         if (unmodTrustAnchors != null) {
-            sb.append("  Trust Anchors: " + unmodTrustAnchors.toString()
-                + "\n");
+            sb.append("  Trust Anchors: ").append(unmodTrustAnchors)
+                    .append('\n');
         }
 
         /* now, append initial state information */
@@ -707,30 +707,41 @@
             if (unmodInitialPolicies.isEmpty()) {
                 sb.append("  Initial Policy OIDs: any\n");
             } else {
-                sb.append("  Initial Policy OIDs: ["
-                    + unmodInitialPolicies.toString() + "]\n");
+                sb.append("  Initial Policy OIDs: [")
+                        .append(unmodInitialPolicies).append("]\n");
             }
         }
 
         /* now, append constraints on all certificates in the path */
-        sb.append("  Validity Date: " + String.valueOf(date) + "\n");
-        sb.append("  Signature Provider: " + String.valueOf(sigProvider) + "\n");
-        sb.append("  Default Revocation Enabled: " + revocationEnabled + "\n");
-        sb.append("  Explicit Policy Required: " + explicitPolicyRequired + "\n");
-        sb.append("  Policy Mapping Inhibited: " + policyMappingInhibited + "\n");
-        sb.append("  Any Policy Inhibited: " + anyPolicyInhibited + "\n");
-        sb.append("  Policy Qualifiers Rejected: " + policyQualifiersRejected + "\n");
+        sb.append("  Validity Date: ").append(date)
+                .append('\n');
+        sb.append("  Signature Provider: ").append(sigProvider)
+                .append('\n');
+        sb.append("  Default Revocation Enabled: ").append(revocationEnabled)
+                .append('\n');
+        sb.append("  Explicit Policy Required: ")
+                .append(explicitPolicyRequired).append('\n');
+        sb.append("  Policy Mapping Inhibited: ")
+                .append(policyMappingInhibited).append('\n');
+        sb.append("  Any Policy Inhibited: ").append(anyPolicyInhibited)
+                .append('\n');
+        sb.append("  Policy Qualifiers Rejected: ")
+                .append(policyQualifiersRejected).append('\n');
 
         /* now, append target cert requirements */
-        sb.append("  Target Cert Constraints: " + String.valueOf(certSelector) + "\n");
+        sb.append("  Target Cert Constraints: ")
+                .append(certSelector).append('\n');
 
         /* finally, append miscellaneous parameters */
-        if (certPathCheckers != null)
-            sb.append("  Certification Path Checkers: ["
-                + certPathCheckers.toString() + "]\n");
-        if (certStores != null)
-            sb.append("  CertStores: [" + certStores.toString() + "]\n");
-        sb.append("]");
+        if (certPathCheckers != null) {
+            sb.append("  Certification Path Checkers: [")
+                    .append(certPathCheckers).append("]\n");
+        }
+        if (certStores != null) {
+            sb.append("  CertStores: [").append(certStores)
+                    .append("]\n");
+        }
+        sb.append(']');
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/java/security/cert/PolicyQualifierInfo.java	2014-08-26 11:20:30.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/PolicyQualifierInfo.java	2014-08-26 11:20:30.000000000 +0800
@@ -158,15 +158,17 @@
      *         {@code PolicyQualifierInfo}
      */
     public String toString() {
-        if (pqiString != null)
+        if (pqiString != null) {
             return pqiString;
+        }
         HexDumpEncoder enc = new HexDumpEncoder();
         StringBuilder sb = new StringBuilder();
         sb.append("PolicyQualifierInfo: [\n");
-        sb.append("  qualifierID: " + mId + "\n");
-        sb.append("  qualifier: " +
-            (mData == null ? "null" : enc.encodeBuffer(mData)) + "\n");
-        sb.append("]");
+        sb.append("  qualifierID: ").append(mId).append('\n');
+        sb.append("  qualifier: ")
+                .append(mData == null ? "null" : enc.encodeBuffer(mData))
+                .append('\n');
+        sb.append(']');
         pqiString = sb.toString();
         return pqiString;
     }
--- old/src/java.base/share/classes/java/security/cert/TrustAnchor.java	2014-08-26 11:20:33.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/TrustAnchor.java	2014-08-26 11:20:32.000000000 +0800
@@ -320,14 +320,18 @@
         StringBuilder sb = new StringBuilder();
         sb.append("[\n");
         if (pubKey != null) {
-            sb.append("  Trusted CA Public Key: " + pubKey.toString() + "\n");
-            sb.append("  Trusted CA Issuer Name: "
-                + String.valueOf(caName) + "\n");
+            sb.append("  Trusted CA Public Key: ").append(pubKey)
+                    .append('\n');
+            sb.append("  Trusted CA Issuer Name: ")
+                    .append(caName).append('\n');
         } else {
-            sb.append("  Trusted CA cert: " + trustedCert.toString() + "\n");
+            sb.append("  Trusted CA cert: ").append(trustedCert)
+                    .append('\n');
+        }
+        if (nc != null) {
+            sb.append("  Name Constraints: ").append(nc)
+                    .append('\n');
         }
-        if (nc != null)
-            sb.append("  Name Constraints: " + nc.toString() + "\n");
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/java/security/cert/X509CRLSelector.java	2014-08-26 11:20:35.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/X509CRLSelector.java	2014-08-26 11:20:35.000000000 +0800
@@ -572,17 +572,17 @@
             sb.append("  IssuerNames:\n");
             Iterator<Object> i = issuerNames.iterator();
             while (i.hasNext())
-                sb.append("    " + i.next() + "\n");
+                sb.append("    ").append(i.next()).append('\n');
         }
         if (minCRL != null)
-            sb.append("  minCRLNumber: " + minCRL + "\n");
+            sb.append("  minCRLNumber: ").append(minCRL).append('\n');
         if (maxCRL != null)
-            sb.append("  maxCRLNumber: " + maxCRL + "\n");
+            sb.append("  maxCRLNumber: ").append(maxCRL).append('\n');
         if (dateAndTime != null)
-            sb.append("  dateAndTime: " + dateAndTime + "\n");
+            sb.append("  dateAndTime: ").append(dateAndTime).append('\n');
         if (certChecking != null)
-            sb.append("  Certificate being checked: " + certChecking + "\n");
-        sb.append("]");
+            sb.append("  Certificate being checked: ").append(certChecking).append('\n');
+        sb.append(']');
         return sb.toString();
     }
 
--- old/src/java.base/share/classes/java/security/cert/X509CertSelector.java	2014-08-26 11:20:38.000000000 +0800
+++ new/src/java.base/share/classes/java/security/cert/X509CertSelector.java	2014-08-26 11:20:37.000000000 +0800
@@ -1814,72 +1814,75 @@
         StringBuilder sb = new StringBuilder();
         sb.append("X509CertSelector: [\n");
         if (x509Cert != null) {
-            sb.append("  Certificate: " + x509Cert.toString() + "\n");
+            sb.append("  Certificate: ").append(x509Cert)
+                    .append('\n');
         }
         if (serialNumber != null) {
-            sb.append("  Serial Number: " + serialNumber.toString() + "\n");
+            sb.append("  Serial Number: ").append(serialNumber)
+                    .append('\n');
         }
         if (issuer != null) {
-            sb.append("  Issuer: " + getIssuerAsString() + "\n");
+            sb.append("  Issuer: ").append(getIssuerAsString()).append('\n');
         }
         if (subject != null) {
-            sb.append("  Subject: " + getSubjectAsString() + "\n");
+            sb.append("  Subject: ").append(getSubjectAsString()).append('\n');
         }
-        sb.append("  matchAllSubjectAltNames flag: "
-                  + String.valueOf(matchAllSubjectAltNames) + "\n");
+        sb.append("  matchAllSubjectAltNames flag: ")
+                .append(matchAllSubjectAltNames).append('\n');
         if (subjectAlternativeNames != null) {
             sb.append("  SubjectAlternativeNames:\n");
             Iterator<List<?>> i = subjectAlternativeNames.iterator();
             while (i.hasNext()) {
                 List<?> list = i.next();
-                sb.append("    type " + list.get(0) +
-                          ", name " + list.get(1) + "\n");
+                sb.append("    type ").append(list.get(0)).append(", name ")
+                        .append(list.get(1)).append('\n');
             }
         }
         if (subjectKeyID != null) {
             HexDumpEncoder enc = new HexDumpEncoder();
-            sb.append("  Subject Key Identifier: " +
-                      enc.encodeBuffer(subjectKeyID) + "\n");
+            sb.append("  Subject Key Identifier: ")
+                    .append(enc.encodeBuffer(subjectKeyID)).append('\n');
         }
         if (authorityKeyID != null) {
             HexDumpEncoder enc = new HexDumpEncoder();
-            sb.append("  Authority Key Identifier: " +
-                      enc.encodeBuffer(authorityKeyID) + "\n");
+            sb.append("  Authority Key Identifier: ")
+                    .append(enc.encodeBuffer(authorityKeyID)).append('\n');
         }
         if (certificateValid != null) {
-            sb.append("  Certificate Valid: " +
-                      certificateValid.toString() + "\n");
+            sb.append("  Certificate Valid: ").append(certificateValid)
+                    .append('\n');
         }
         if (privateKeyValid != null) {
-            sb.append("  Private Key Valid: " +
-                      privateKeyValid.toString() + "\n");
+            sb.append("  Private Key Valid: ").append(privateKeyValid)
+                    .append('\n');
         }
         if (subjectPublicKeyAlgID != null) {
-            sb.append("  Subject Public Key AlgID: " +
-                      subjectPublicKeyAlgID.toString() + "\n");
+            sb.append("  Subject Public Key AlgID: ")
+                    .append(subjectPublicKeyAlgID).append('\n');
         }
         if (subjectPublicKey != null) {
-            sb.append("  Subject Public Key: " +
-                      subjectPublicKey.toString() + "\n");
+            sb.append("  Subject Public Key: ").append(subjectPublicKey)
+                    .append('\n');
         }
         if (keyUsage != null) {
-            sb.append("  Key Usage: " + keyUsageToString(keyUsage) + "\n");
+            sb.append("  Key Usage: ").append(keyUsageToString(keyUsage))
+                    .append('\n');
         }
         if (keyPurposeSet != null) {
-            sb.append("  Extended Key Usage: " +
-                      keyPurposeSet.toString() + "\n");
+            sb.append("  Extended Key Usage: ").append(keyPurposeSet)
+                    .append('\n');
         }
         if (policy != null) {
-            sb.append("  Policy: " + policy.toString() + "\n");
+            sb.append("  Policy: ").append(policy).append('\n');
         }
         if (pathToGeneralNames != null) {
             sb.append("  Path to names:\n");
             Iterator<GeneralNameInterface> i = pathToGeneralNames.iterator();
             while (i.hasNext()) {
-                sb.append("    " + i.next() + "\n");
+                sb.append("    ").append(i.next()).append('\n');
             }
         }
-        sb.append("]");
+        sb.append(']');
         return sb.toString();
     }
 
--- old/src/java.base/share/classes/java/text/ChoiceFormat.java	2014-08-26 11:20:40.000000000 +0800
+++ new/src/java.base/share/classes/java/text/ChoiceFormat.java	2014-08-26 11:20:40.000000000 +0800
@@ -272,7 +272,7 @@
             double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d));
 
             if (tryLessOrEqual < tryLess) {
-                result.append(""+choiceLimits[i]);
+                result.append(choiceLimits[i]);
                 result.append('#');
             } else {
                 if (choiceLimits[i] == Double.POSITIVE_INFINITY) {
@@ -280,7 +280,7 @@
                 } else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) {
                     result.append("-\u221E");
                 } else {
-                    result.append(""+less);
+                    result.append(less);
                 }
                 result.append('<');
             }
--- old/src/java.base/share/classes/java/util/Scanner.java	2014-08-26 11:20:43.000000000 +0800
+++ new/src/java.base/share/classes/java/util/Scanner.java	2014-08-26 11:20:42.000000000 +0800
@@ -1304,20 +1304,20 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("java.util.Scanner");
-        sb.append("[delimiters=" + delimPattern + "]");
-        sb.append("[position=" + position + "]");
-        sb.append("[match valid=" + matchValid + "]");
-        sb.append("[need input=" + needInput + "]");
-        sb.append("[source closed=" + sourceClosed + "]");
-        sb.append("[skipped=" + skipped + "]");
-        sb.append("[group separator=" + groupSeparator + "]");
-        sb.append("[decimal separator=" + decimalSeparator + "]");
-        sb.append("[positive prefix=" + positivePrefix + "]");
-        sb.append("[negative prefix=" + negativePrefix + "]");
-        sb.append("[positive suffix=" + positiveSuffix + "]");
-        sb.append("[negative suffix=" + negativeSuffix + "]");
-        sb.append("[NaN string=" + nanString + "]");
-        sb.append("[infinity string=" + infinityString + "]");
+        sb.append("[delimiters=").append(delimPattern).append(']');
+        sb.append("[position=").append(position).append(']');
+        sb.append("[match valid=").append(matchValid).append(']');
+        sb.append("[need input=").append(needInput).append(']');
+        sb.append("[source closed=").append(sourceClosed).append(']');
+        sb.append("[skipped=").append(skipped).append(']');
+        sb.append("[group separator=").append(groupSeparator).append(']');
+        sb.append("[decimal separator=").append(decimalSeparator).append(']');
+        sb.append("[positive prefix=").append(positivePrefix).append(']');
+        sb.append("[negative prefix=").append(negativePrefix).append(']');
+        sb.append("[positive suffix=").append(positiveSuffix).append(']');
+        sb.append("[negative suffix=").append(negativeSuffix).append(']');
+        sb.append("[NaN string=").append(nanString).append(']');
+        sb.append("[infinity string=").append(infinityString).append(']');
         return sb.toString();
     }
 
--- old/src/java.base/share/classes/java/util/regex/Matcher.java	2014-08-26 11:20:45.000000000 +0800
+++ new/src/java.base/share/classes/java/util/regex/Matcher.java	2014-08-26 11:20:45.000000000 +0800
@@ -1295,14 +1295,14 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("java.util.regex.Matcher");
-        sb.append("[pattern=" + pattern());
+        sb.append("[pattern=").append(pattern());
         sb.append(" region=");
-        sb.append(regionStart() + "," + regionEnd());
+        sb.append(regionStart()).append(',').append(regionEnd());
         sb.append(" lastmatch=");
         if ((first >= 0) && (group() != null)) {
             sb.append(group());
         }
-        sb.append("]");
+        sb.append(']');
         return sb.toString();
     }
 
--- old/src/java.base/share/classes/java/util/regex/Pattern.java	2014-08-26 11:20:48.000000000 +0800
+++ new/src/java.base/share/classes/java/util/regex/Pattern.java	2014-08-26 11:20:47.000000000 +0800
@@ -1488,10 +1488,10 @@
         for(int x=0; x<perms.length; x++) {
             String next = base + perms[x];
             if (x>0)
-                result.append("|"+next);
+                result.append('|').append(next);
             next = composeOneStep(next);
             if (next != null)
-                result.append("|"+produceEquivalentAlternation(next));
+                result.append('|').append(produceEquivalentAlternation(next));
         }
         return result.toString();
     }
--- old/src/java.base/share/classes/javax/crypto/CryptoPermission.java	2014-08-26 11:20:50.000000000 +0800
+++ new/src/java.base/share/classes/javax/crypto/CryptoPermission.java	2014-08-26 11:20:50.000000000 +0800
@@ -369,22 +369,24 @@
      * @return information about this CryptoPermission.
      */
     public String toString() {
-        StringBuilder buf = new StringBuilder(100);
-        buf.append("(CryptoPermission " + alg + " " + maxKeySize);
+        StringBuilder sb = new StringBuilder(100);
+        sb.append("(CryptoPermission ").append(alg).append(' ')
+                .append(maxKeySize);
         if (algParamSpec != null) {
             if (algParamSpec instanceof RC2ParameterSpec) {
-                buf.append(" , effective " +
-                    ((RC2ParameterSpec)algParamSpec).getEffectiveKeyBits());
+                sb.append(" , effective ")
+                        .append(((RC2ParameterSpec) algParamSpec)
+                                .getEffectiveKeyBits());
             } else if (algParamSpec instanceof RC5ParameterSpec) {
-                buf.append(" , rounds " +
-                    ((RC5ParameterSpec)algParamSpec).getRounds());
+                sb.append(" , rounds ").append(
+                        ((RC5ParameterSpec) algParamSpec).getRounds());
             }
         }
         if (exemptionMechanism != null) { // OPTIONAL
-            buf.append(" " + exemptionMechanism);
+            sb.append(' ').append(exemptionMechanism);
         }
-        buf.append(")");
-        return buf.toString();
+        sb.append(')');
+        return sb.toString();
     }
 
     private boolean impliesExemptionMechanism(String exemptionMechanism) {
--- old/src/java.base/share/classes/sun/launcher/LauncherHelper.java	2014-08-26 11:20:53.000000000 +0800
+++ new/src/java.base/share/classes/sun/launcher/LauncherHelper.java	2014-08-26 11:20:52.000000000 +0800
@@ -369,10 +369,9 @@
     static void appendVmErgoMessage(boolean isServerClass, String vm) {
         outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1",
                 vm));
-        outBuf = (isServerClass)
-             ? outBuf.append(",\n" +
-                getLocalizedMessage("java.launcher.ergo.message2") + "\n\n")
-             : outBuf.append(".\n\n");
+        outBuf = (isServerClass) ? outBuf.append(",\n")
+                .append(getLocalizedMessage("java.launcher.ergo.message2"))
+                .append("\n\n") : outBuf.append(".\n\n");
     }
 
     /**
--- old/src/java.base/share/classes/sun/net/www/HeaderParser.java	2014-08-26 11:20:55.000000000 +0800
+++ new/src/java.base/share/classes/sun/net/www/HeaderParser.java	2014-08-26 11:20:55.000000000 +0800
@@ -220,21 +220,23 @@
 
     public String toString () {
         Iterator<String> k = keys();
-        StringBuffer sbuf = new StringBuffer();
-        sbuf.append ("{size="+asize+" nkeys="+nkeys+" ");
+        StringBuilder sb = new StringBuilder();
+        sb.append("{size=").append(asize).append(" nkeys=").append(nkeys)
+                .append(' ');
         for (int i=0; k.hasNext(); i++) {
             String key = k.next();
             String val = findValue (i);
             if (val != null && "".equals (val)) {
                 val = null;
             }
-            sbuf.append (" {"+key+(val==null?"":","+val)+"}");
+            sb.append(" {").append(key).append(val == null ? "" : "," + val)
+                    .append('}');
             if (k.hasNext()) {
-                sbuf.append (",");
+                sb.append (',');
             }
         }
-        sbuf.append (" }");
-        return new String (sbuf);
+        sb.append (" }");
+        return sb.toString();
     }
 
     public int findInt(String k, int Default) {
--- old/src/java.base/share/classes/sun/net/www/MimeEntry.java	2014-08-26 11:20:58.000000000 +0800
+++ new/src/java.base/share/classes/sun/net/www/MimeEntry.java	2014-08-26 11:20:57.000000000 +0800
@@ -288,7 +288,7 @@
 
         int action = getAction();
         if (action != MimeEntry.UNKNOWN) {
-            sb.append("action=" + actionKeywords[action]);
+            sb.append("action=").append(actionKeywords[action]);
             needSeparator = true;
         }
 
@@ -297,7 +297,7 @@
             if (needSeparator) {
                 sb.append(separator);
             }
-            sb.append("application=" + command);
+            sb.append("application=").append(command);
             needSeparator = true;
         }
 
@@ -305,7 +305,7 @@
             if (needSeparator) {
                 sb.append(separator);
             }
-            sb.append("icon=" + getImageFileName());
+            sb.append("icon=").append(getImageFileName());
             needSeparator = true;
         }
 
@@ -314,7 +314,7 @@
             if (needSeparator) {
                 sb.append(separator);
             }
-            sb.append("file_extensions=" + extensions);
+            sb.append("file_extensions=").append(extensions);
             needSeparator = true;
         }
 
@@ -323,7 +323,7 @@
             if (needSeparator) {
                 sb.append(separator);
             }
-            sb.append("description=" + description);
+            sb.append("description=").append(description);
         }
 
         return sb.toString();
--- old/src/java.base/share/classes/sun/security/pkcs/SigningCertificateInfo.java	2014-08-26 11:21:00.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/pkcs/SigningCertificateInfo.java	2014-08-26 11:21:00.000000000 +0800
@@ -158,8 +158,8 @@
         }
         sb.append(hexDumper.encode(certHash));
         if (issuer != null && serialNumber != null) {
-            sb.append("\n\tIssuer: " + issuer + "\n");
-            sb.append("\t" + serialNumber);
+            sb.append("\n\tIssuer: ").append(issuer).append('\n');
+            sb.append('\t').append(serialNumber);
         }
         sb.append("\n]");
         return sb.toString();
--- old/src/java.base/share/classes/sun/security/provider/PolicyFile.java	2014-08-26 11:21:03.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/provider/PolicyFile.java	2014-08-26 11:21:02.000000000 +0800
@@ -1495,13 +1495,13 @@
             Iterator<PolicyParser.PrincipalEntry> pli = entryPs.iterator();
             while (pli.hasNext()) {
                 PolicyParser.PrincipalEntry pppe = pli.next();
-                String[][] principalInfo = getPrincipalInfo(pppe,pdp);
+                String[][] principalInfo = getPrincipalInfo(pppe, pdp);
                 for (int i = 0; i < principalInfo.length; i++) {
                     if (i != 0) {
                         sb.append(", ");
                     }
-                    sb.append(principalInfo[i][0] + " " +
-                        "\"" + principalInfo[i][1] + "\"");
+                    sb.append(principalInfo[i][0]).append(' ').append('"')
+                            .append(principalInfo[i][1]).append('"');
                 }
                 if (pli.hasNext()) {
                     sb.append(", ");
@@ -1774,17 +1774,17 @@
         Principal[] principals = pd.getPrincipals();
         String pals = "<no principals>";
         if (principals != null && principals.length > 0) {
-            StringBuilder palBuf = new StringBuilder("(principals ");
+            StringBuilder palSB = new StringBuilder("(principals ");
             for (int i = 0; i < principals.length; i++) {
-                palBuf.append(principals[i].getClass().getName() +
-                              " \"" + principals[i].getName() +
-                              "\"");
+                palSB.append(principals[i].getClass().getName())
+                        .append(" \"").append(principals[i].getName())
+                        .append('"');
                 if (i < principals.length-1)
-                    palBuf.append(", ");
+                    palSB.append(", ");
                 else
-                    palBuf.append(")");
+                    palSB.append(')');
             }
-            pals = palBuf.toString();
+            pals = palSB.toString();
         }
         return "PD CodeSource: "
                 + pd.getCodeSource()
@@ -1884,7 +1884,7 @@
                     throw new Exception(form.format(source));
                 }
 
-                sb.append(X500PRINCIPAL + " \"" + suffix + "\"");
+                sb.append(X500PRINCIPAL).append(" \"").append(suffix).append('"');
                 startIndex = e+2;
             } else {
                 MessageFormat form = new MessageFormat
--- old/src/java.base/share/classes/sun/security/provider/certpath/CertId.java	2014-08-26 11:21:05.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/provider/certpath/CertId.java	2014-08-26 11:21:05.000000000 +0800
@@ -223,13 +223,13 @@
     @Override public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("CertId \n");
-        sb.append("Algorithm: " + hashAlgId.toString() +"\n");
+        sb.append("Algorithm: ").append(hashAlgId).append('\n');
         sb.append("issuerNameHash \n");
         HexDumpEncoder encoder = new HexDumpEncoder();
         sb.append(encoder.encode(issuerNameHash));
         sb.append("\nissuerKeyHash: \n");
         sb.append(encoder.encode(issuerKeyHash));
-        sb.append("\n" +  certSerialNumber.toString());
+        sb.append('\n').append(certSerialNumber);
         return sb.toString();
     }
 }
--- old/src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java	2014-08-26 11:21:07.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java	2014-08-26 11:21:07.000000000 +0800
@@ -812,14 +812,14 @@
             StringBuilder sb = new StringBuilder();
             sb.append("SingleResponse:  \n");
             sb.append(certId);
-            sb.append("\nCertStatus: "+ certStatus + "\n");
+            sb.append("\nCertStatus: ").append(certStatus).append('\n');
             if (certStatus == CertStatus.REVOKED) {
-                sb.append("revocationTime is " + revocationTime + "\n");
-                sb.append("revocationReason is " + revocationReason + "\n");
+                sb.append("revocationTime is ").append(revocationTime).append('\n');
+                sb.append("revocationReason is ").append(revocationReason).append('\n');
             }
-            sb.append("thisUpdate is " + thisUpdate + "\n");
+            sb.append("thisUpdate is ").append(thisUpdate).append('\n');
             if (nextUpdate != null) {
-                sb.append("nextUpdate is " + nextUpdate + "\n");
+                sb.append("nextUpdate is ").append(nextUpdate).append('\n');
             }
             return sb.toString();
         }
--- old/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java	2014-08-26 11:21:10.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java	2014-08-26 11:21:09.000000000 +0800
@@ -124,7 +124,7 @@
         StringBuilder sb = new StringBuilder();
         sb.append("[\n");
         sb.append(super.toString());
-        sb.append("  Build Forward Flag: " + String.valueOf(buildForward) + "\n");
+        sb.append("  Build Forward Flag: ").append(buildForward).append('\n');
         sb.append("]\n");
         return sb.toString();
     }
--- old/src/java.base/share/classes/sun/security/ssl/HandshakeMessage.java	2014-08-26 11:21:12.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/ssl/HandshakeMessage.java	2014-08-26 11:21:12.000000000 +0800
@@ -1478,7 +1478,7 @@
                 boolean opened = false;
                 for (SignatureAndHashAlgorithm signAlg : algorithms) {
                     if (opened) {
-                        sb.append(", " + signAlg.getAlgorithmName());
+                        sb.append(", ").append(signAlg.getAlgorithmName());
                     } else {
                         sb.append(signAlg.getAlgorithmName());
                         opened = true;
--- old/src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java	2014-08-26 11:21:15.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java	2014-08-26 11:21:14.000000000 +0800
@@ -267,11 +267,11 @@
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
+        sb.append("Extension ").append(type).append(", server_name: ");
         for (SNIServerName sniName : sniMap.values()) {
-            sb.append("[" + sniName + "]");
+            sb.append('[').append(sniName).append(']');
         }
-
-        return "Extension " + type + ", server_name: " + sb;
+        return sb.toString();
     }
 
     private static class UnknownServerName extends SNIServerName {
--- old/src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java	2014-08-26 11:21:17.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java	2014-08-26 11:21:17.000000000 +0800
@@ -119,17 +119,17 @@
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
+        sb.append("Extension ").append(type).append(", signature_algorithms: ");
         boolean opened = false;
         for (SignatureAndHashAlgorithm signAlg : algorithms) {
             if (opened) {
-                sb.append(", " + signAlg.getAlgorithmName());
+                sb.append(", ").append(signAlg.getAlgorithmName());
             } else {
                 sb.append(signAlg.getAlgorithmName());
                 opened = true;
             }
         }
-
-        return "Extension " + type + ", signature_algorithms: " + sb;
+        return  sb.toString();
     }
 }
 
--- old/src/java.base/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2014-08-26 11:21:20.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2014-08-26 11:21:19.000000000 +0800
@@ -113,7 +113,7 @@
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
-        sb.append("Extension " + type + ", curve names: {");
+        sb.append("Extension ").append(type).append(", curve names: {");
         boolean first = true;
         for (int curveId : curveIds) {
             if (first) {
@@ -138,7 +138,7 @@
             } else if (curveId == ARBITRARY_CHAR2) {
                 sb.append("arbitrary_explicit_char2_curves");
             } else {
-                sb.append("unknown curve " + curveId);
+                sb.append("unknown curve ").append(curveId);
             }
         }
         sb.append("}");
--- old/src/java.base/share/classes/sun/security/x509/AVA.java	2014-08-26 11:21:22.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/AVA.java	2014-08-26 11:21:22.000000000 +0800
@@ -1062,7 +1062,7 @@
             } else {
 
                 boolean quoteNeeded = false;
-                StringBuilder sbuffer = new StringBuilder();
+                StringBuilder sb = new StringBuilder();
                 boolean previousWhite = false;
                 final String escapees = ",+=\n<>#;\\\"";
 
@@ -1079,7 +1079,7 @@
                 for (int i = 0; i < length; i++) {
                     char c = valStr.charAt(i);
                     if (alreadyQuoted && (i == 0 || i == length - 1)) {
-                        sbuffer.append(c);
+                        sb.append(c);
                         continue;
                     }
                     if (DerValue.isPrintableStringChar(c) ||
@@ -1096,7 +1096,7 @@
                         if (!(c == ' ' || c == '\n')) {
                             // escape '"' and '\'
                             if (c == '"' || c == '\\') {
-                                sbuffer.append('\\');
+                                sb.append('\\');
                             }
                             previousWhite = false;
                         } else {
@@ -1106,7 +1106,7 @@
                             previousWhite = true;
                         }
 
-                        sbuffer.append(c);
+                        sb.append(c);
 
                     } else if (debug != null && Debug.isOn("ava")) {
 
@@ -1119,26 +1119,26 @@
                         byte[] valueBytes =
                                 Character.toString(c).getBytes("UTF8");
                         for (int j = 0; j < valueBytes.length; j++) {
-                            sbuffer.append('\\');
+                            sb.append('\\');
                             char hexChar = Character.forDigit
                                         (0xF & (valueBytes[j] >>> 4), 16);
-                            sbuffer.append(Character.toUpperCase(hexChar));
+                            sb.append(Character.toUpperCase(hexChar));
                             hexChar = Character.forDigit
                                         (0xF & (valueBytes[j]), 16);
-                            sbuffer.append(Character.toUpperCase(hexChar));
+                            sb.append(Character.toUpperCase(hexChar));
                         }
                     } else {
 
                         // append non-printable/non-escaped char
 
                         previousWhite = false;
-                        sbuffer.append(c);
+                        sb.append(c);
                     }
                 }
 
                 // quote if trailing whitespace
-                if (sbuffer.length() > 0) {
-                    char trailChar = sbuffer.charAt(sbuffer.length() - 1);
+                if (sb.length() > 0) {
+                    char trailChar = sb.charAt(sb.length() - 1);
                     if (trailChar == ' ' || trailChar == '\n') {
                         quoteNeeded = true;
                     }
@@ -1147,9 +1147,9 @@
                 // Emit the string ... quote it if needed
                 // if string is already quoted, don't re-quote
                 if (!alreadyQuoted && quoteNeeded) {
-                    retval.append("\"" + sbuffer.toString() + "\"");
+                    retval.append('"').append(sb).append('"');
                 } else {
-                    retval.append(sbuffer.toString());
+                    retval.append(sb);
                 }
             }
         } catch (IOException e) {
--- old/src/java.base/share/classes/sun/security/x509/DistributionPoint.java	2014-08-26 11:21:25.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/DistributionPoint.java	2014-08-26 11:21:24.000000000 +0800
@@ -381,22 +381,22 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         if (fullName != null) {
-            sb.append("DistributionPoint:\n     " + fullName + "\n");
+            sb.append("DistributionPoint:\n     ").append(fullName).append('\n');
         }
         if (relativeName != null) {
-            sb.append("DistributionPoint:\n     " + relativeName + "\n");
+            sb.append("DistributionPoint:\n     ").append(relativeName).append('\n');
         }
 
         if (reasonFlags != null) {
             sb.append("   ReasonFlags:\n");
             for (int i = 0; i < reasonFlags.length; i++) {
                 if (reasonFlags[i]) {
-                    sb.append("    " + reasonToString(i) + "\n");
+                    sb.append("    ").append(reasonToString(i)).append('\n');
                 }
             }
         }
         if (crlIssuer != null) {
-            sb.append("   CRLIssuer:" + crlIssuer + "\n");
+            sb.append("   CRLIssuer:").append(crlIssuer).append('\n');
         }
         return sb.toString();
     }
--- old/src/java.base/share/classes/sun/security/x509/DistributionPointName.java	2014-08-26 11:21:27.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/DistributionPointName.java	2014-08-26 11:21:27.000000000 +0800
@@ -231,10 +231,10 @@
     public String toString() {
         StringBuilder sb = new StringBuilder();
         if (fullName != null) {
-            sb.append("DistributionPointName:\n     " + fullName + "\n");
+            sb.append("DistributionPointName:\n     ").append(fullName).append('\n');
 
         } else {
-            sb.append("DistributionPointName:\n     " + relativeName + "\n");
+            sb.append("DistributionPointName:\n     ").append(relativeName).append('\n');
         }
 
         return sb.toString();
--- old/src/java.base/share/classes/sun/security/x509/PolicyInformation.java	2014-08-26 11:21:29.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/PolicyInformation.java	2014-08-26 11:21:29.000000000 +0800
@@ -258,9 +258,9 @@
      * Return a printable representation of the PolicyInformation.
      */
     public String toString() {
-        StringBuilder s = new StringBuilder("  [" + policyIdentifier.toString());
-        s.append(policyQualifiers + "  ]\n");
-        return s.toString();
+        StringBuilder sb = new StringBuilder("  [" + policyIdentifier.toString());
+        sb.append(policyQualifiers).append("  ]\n");
+        return sb.toString();
     }
 
     /**
--- old/src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java	2014-08-26 11:21:32.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java	2014-08-26 11:21:31.000000000 +0800
@@ -292,17 +292,17 @@
         StringBuilder sb = new StringBuilder();
 
         sb.append(serialNumber.toString());
-        sb.append("  On: " + revocationDate.toString());
+        sb.append("  On: ").append(revocationDate);
         if (certIssuer != null) {
-            sb.append("\n    Certificate issuer: " + certIssuer);
+            sb.append("\n    Certificate issuer: ").append(certIssuer);
         }
         if (extensions != null) {
             Collection<Extension> allEntryExts = extensions.getAllExtensions();
             Extension[] exts = allEntryExts.toArray(new Extension[0]);
 
-            sb.append("\n    CRL Entry Extensions: " + exts.length);
+            sb.append("\n    CRL Entry Extensions: ").append(exts.length);
             for (int i = 0; i < exts.length; i++) {
-                sb.append("\n    [" + (i+1) + "]: ");
+                sb.append("\n    [").append(i + 1).append("]: ");
                 Extension ext = exts[i];
                 try {
                     if (OIDMap.getClass(ext.getExtensionId()) == null) {
@@ -313,9 +313,8 @@
                             out.putOctetString(extValue);
                             extValue = out.toByteArray();
                             HexDumpEncoder enc = new HexDumpEncoder();
-                            sb.append("Extension unknown: "
-                                      + "DER encoded OCTET string =\n"
-                                      + enc.encodeBuffer(extValue) + "\n");
+                            sb.append("Extension unknown: " + "DER encoded OCTET string =\n")
+                                    .append(enc.encodeBuffer(extValue)).append('\n');
                         }
                     } else
                         sb.append(ext.toString()); //sub-class exists
--- old/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java	2014-08-26 11:21:34.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java	2014-08-26 11:21:34.000000000 +0800
@@ -537,31 +537,32 @@
      */
     public String toString() {
         StringBuilder sb = new StringBuilder();
-        sb.append("X.509 CRL v" + (version+1) + "\n");
+        sb.append("X.509 CRL v").append(version + 1).append('\n');
         if (sigAlgId != null)
-            sb.append("Signature Algorithm: " + sigAlgId.toString() +
-                  ", OID=" + (sigAlgId.getOID()).toString() + "\n");
+            sb.append("Signature Algorithm: ").append(sigAlgId)
+                    .append(", OID=")
+                    .append((sigAlgId.getOID())).append('\n');
         if (issuer != null)
-            sb.append("Issuer: " + issuer.toString() + "\n");
+            sb.append("Issuer: ").append(issuer).append('\n');
         if (thisUpdate != null)
-            sb.append("\nThis Update: " + thisUpdate.toString() + "\n");
+            sb.append("\nThis Update: ").append(thisUpdate).append('\n');
         if (nextUpdate != null)
-            sb.append("Next Update: " + nextUpdate.toString() + "\n");
+            sb.append("Next Update: ").append(nextUpdate).append('\n');
         if (revokedList.isEmpty())
             sb.append("\nNO certificates have been revoked\n");
         else {
-            sb.append("\nRevoked Certificates: " + revokedList.size());
+            sb.append("\nRevoked Certificates: ").append(revokedList.size());
             int i = 1;
             for (X509CRLEntry entry: revokedList) {
-                sb.append("\n[" + i++ + "] " + entry.toString());
+                sb.append("\n[").append(i++).append("] ").append(entry);
             }
         }
         if (extensions != null) {
             Collection<Extension> allExts = extensions.getAllExtensions();
             Object[] objs = allExts.toArray();
-            sb.append("\nCRL Extensions: " + objs.length);
+            sb.append("\nCRL Extensions: ").append(objs.length);
             for (int i = 0; i < objs.length; i++) {
-                sb.append("\n[" + (i+1) + "]: ");
+                sb.append("\n[").append(i + 1).append("]: ");
                 Extension ext = (Extension)objs[i];
                 try {
                    if (OIDMap.getClass(ext.getExtensionId()) == null) {
@@ -572,9 +573,8 @@
                            out.putOctetString(extValue);
                            extValue = out.toByteArray();
                            HexDumpEncoder enc = new HexDumpEncoder();
-                           sb.append("Extension unknown: "
-                                     + "DER encoded OCTET string =\n"
-                                     + enc.encodeBuffer(extValue) + "\n");
+                           sb.append("Extension unknown: " + "DER encoded OCTET string =\n")
+                                   .append(enc.encodeBuffer(extValue)).append('\n');
                       }
                    } else
                        sb.append(ext.toString()); // sub-class exists
@@ -585,8 +585,7 @@
         }
         if (signature != null) {
             HexDumpEncoder encoder = new HexDumpEncoder();
-            sb.append("\nSignature:\n" + encoder.encodeBuffer(signature)
-                      + "\n");
+            sb.append("\nSignature:\n").append(encoder.encodeBuffer(signature)).append('\n');
         } else
             sb.append("NOT signed yet\n");
         return sb.toString();
--- old/src/java.base/share/classes/sun/security/x509/X509CertImpl.java	2014-08-26 11:21:37.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/X509CertImpl.java	2014-08-26 11:21:36.000000000 +0800
@@ -802,11 +802,11 @@
         StringBuilder sb = new StringBuilder();
 
         sb.append("[\n");
-        sb.append(info.toString() + "\n");
-        sb.append("  Algorithm: [" + algId.toString() + "]\n");
+        sb.append(info).append('\n');
+        sb.append("  Algorithm: [").append(algId).append("]\n");
 
         HexDumpEncoder encoder = new HexDumpEncoder();
-        sb.append("  Signature:\n" + encoder.encodeBuffer(signature));
+        sb.append("  Signature:\n").append(encoder.encodeBuffer(signature));
         sb.append("\n]");
 
         return sb.toString();
--- old/src/java.base/share/classes/sun/security/x509/X509CertInfo.java	2014-08-26 11:21:39.000000000 +0800
+++ new/src/java.base/share/classes/sun/security/x509/X509CertInfo.java	2014-08-26 11:21:39.000000000 +0800
@@ -298,27 +298,27 @@
         StringBuilder sb = new StringBuilder();
 
         sb.append("[\n");
-        sb.append("  " + version.toString() + "\n");
-        sb.append("  Subject: " + subject.toString() + "\n");
-        sb.append("  Signature Algorithm: " + algId.toString() + "\n");
-        sb.append("  Key:  " + pubKey.toString() + "\n");
-        sb.append("  " + interval.toString() + "\n");
-        sb.append("  Issuer: " + issuer.toString() + "\n");
-        sb.append("  " + serialNum.toString() + "\n");
+        sb.append("  ").append(version).append('\n');
+        sb.append("  Subject: ").append(subject).append('\n');
+        sb.append("  Signature Algorithm: ").append(algId).append('\n');
+        sb.append("  Key:  ").append(pubKey).append('\n');
+        sb.append("  ").append(interval).append('\n');
+        sb.append("  Issuer: ").append(issuer).append('\n');
+        sb.append("  ").append(serialNum).append('\n');
 
         // optional v2, v3 extras
         if (issuerUniqueId != null) {
-            sb.append("  Issuer Id:\n" + issuerUniqueId.toString() + "\n");
+            sb.append("  Issuer Id:\n").append(issuerUniqueId).append('\n');
         }
         if (subjectUniqueId != null) {
-            sb.append("  Subject Id:\n" + subjectUniqueId.toString() + "\n");
+            sb.append("  Subject Id:\n").append(subjectUniqueId).append('\n');
         }
         if (extensions != null) {
             Collection<Extension> allExts = extensions.getAllExtensions();
             Extension[] exts = allExts.toArray(new Extension[0]);
-            sb.append("\nCertificate Extensions: " + exts.length);
+            sb.append("\nCertificate Extensions: ").append(exts.length);
             for (int i = 0; i < exts.length; i++) {
-                sb.append("\n[" + (i+1) + "]: ");
+                sb.append("\n[").append(i + 1).append("]: ");
                 Extension ext = exts[i];
                 try {
                     if (OIDMap.getClass(ext.getExtensionId()) == null) {
@@ -329,9 +329,8 @@
                             out.putOctetString(extValue);
                             extValue = out.toByteArray();
                             HexDumpEncoder enc = new HexDumpEncoder();
-                            sb.append("Extension unknown: "
-                                      + "DER encoded OCTET string =\n"
-                                      + enc.encodeBuffer(extValue) + "\n");
+                            sb.append("Extension unknown: " + "DER encoded OCTET string =\n")
+                                    .append(enc.encodeBuffer(extValue)).append('\n');
                         }
                     } else
                         sb.append(ext.toString()); //sub-class exists
@@ -341,10 +340,10 @@
             }
             Map<String,Extension> invalid = extensions.getUnparseableExtensions();
             if (invalid.isEmpty() == false) {
-                sb.append("\nUnparseable certificate extensions: " + invalid.size());
+                sb.append("\nUnparseable certificate extensions: ").append(invalid.size());
                 int i = 1;
                 for (Extension ext : invalid.values()) {
-                    sb.append("\n[" + (i++) + "]: ");
+                    sb.append("\n[").append(i++).append("]: ");
                     sb.append(ext);
                 }
             }
--- old/src/java.corba/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2014-08-26 11:21:42.000000000 +0800
+++ new/src/java.corba/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2014-08-26 11:21:41.000000000 +0800
@@ -256,7 +256,7 @@
     private static String stringifyComponent(NameComponent comp) {
         StringBuilder one = new StringBuilder(escape(comp.id));
         if (comp.kind != null && !comp.kind.equals("")) {
-            one.append(kindSeparator + escape(comp.kind));
+            one.append(kindSeparator).append(escape(comp.kind));
         }
         if (one.length() == 0) {
             return ""+kindSeparator;  // if neither id nor kind specified
--- old/src/java.management/share/classes/java/lang/management/MemoryUsage.java	2014-08-26 11:21:44.000000000 +0800
+++ new/src/java.management/share/classes/java/lang/management/MemoryUsage.java	2014-08-26 11:21:44.000000000 +0800
@@ -237,13 +237,16 @@
      * Returns a descriptive representation of this memory usage.
      */
     public String toString() {
-        StringBuilder buf = new StringBuilder();
-        buf.append("init = " + init + "(" + (init >> 10) + "K) ");
-        buf.append("used = " + used + "(" + (used >> 10) + "K) ");
-        buf.append("committed = " + committed + "(" +
-                   (committed >> 10) + "K) " );
-        buf.append("max = " + max + "(" + (max >> 10) + "K)");
-        return buf.toString();
+        StringBuilder sb = new StringBuilder();
+        sb.append("init = ").append(init).append('(').append(init >> 10)
+                .append("K) ");
+        sb.append("used = ").append(used).append('(').append(used >> 10)
+                .append("K) ");
+        sb.append("committed = ").append(committed).append('(')
+                .append(committed >> 10).append("K) ");
+        sb.append("max = ").append(max).append('(').append(max >> 10)
+                .append("K)");
+        return sb.toString();
     }
 
     /**
--- old/src/java.management/share/classes/java/lang/management/ThreadInfo.java	2014-08-26 11:21:47.000000000 +0800
+++ new/src/java.management/share/classes/java/lang/management/ThreadInfo.java	2014-08-26 11:21:46.000000000 +0800
@@ -579,15 +579,17 @@
      * @return a string representation of this thread info.
      */
     public String toString() {
-        StringBuilder sb = new StringBuilder("\"" + getThreadName() + "\"" +
-                                             " Id=" + getThreadId() + " " +
-                                             getThreadState());
+        StringBuilder sb = new StringBuilder();
+        sb.append('"').append(getThreadName()).append('"')
+                .append(" Id=").append(getThreadId()).append(' ')
+                .append(getThreadState());
+
         if (getLockName() != null) {
-            sb.append(" on " + getLockName());
+            sb.append(" on ").append(getLockName());
         }
         if (getLockOwnerName() != null) {
-            sb.append(" owned by \"" + getLockOwnerName() +
-                      "\" Id=" + getLockOwnerId());
+            sb.append(" owned by \"").append(getLockOwnerName())
+                    .append("\" Id=").append(getLockOwnerId());
         }
         if (isSuspended()) {
             sb.append(" (suspended)");
@@ -599,21 +601,21 @@
         int i = 0;
         for (; i < stackTrace.length && i < MAX_FRAMES; i++) {
             StackTraceElement ste = stackTrace[i];
-            sb.append("\tat " + ste.toString());
+            sb.append("\tat ").append(ste);
             sb.append('\n');
             if (i == 0 && getLockInfo() != null) {
                 Thread.State ts = getThreadState();
                 switch (ts) {
                     case BLOCKED:
-                        sb.append("\t-  blocked on " + getLockInfo());
+                        sb.append("\t-  blocked on ").append(getLockInfo());
                         sb.append('\n');
                         break;
                     case WAITING:
-                        sb.append("\t-  waiting on " + getLockInfo());
+                        sb.append("\t-  waiting on ").append(getLockInfo());
                         sb.append('\n');
                         break;
                     case TIMED_WAITING:
-                        sb.append("\t-  waiting on " + getLockInfo());
+                        sb.append("\t-  waiting on ").append(getLockInfo());
                         sb.append('\n');
                         break;
                     default:
@@ -622,7 +624,7 @@
 
             for (MonitorInfo mi : lockedMonitors) {
                 if (mi.getLockedStackDepth() == i) {
-                    sb.append("\t-  locked " + mi);
+                    sb.append("\t-  locked ").append(mi);
                     sb.append('\n');
                 }
             }
@@ -634,10 +636,10 @@
 
        LockInfo[] locks = getLockedSynchronizers();
        if (locks.length > 0) {
-           sb.append("\n\tNumber of locked synchronizers = " + locks.length);
+           sb.append("\n\tNumber of locked synchronizers = ").append(locks.length);
            sb.append('\n');
            for (LockInfo li : locks) {
-               sb.append("\t- " + li);
+               sb.append("\t- ").append(li);
                sb.append('\n');
            }
        }
--- old/src/java.management/share/classes/javax/management/MBeanPermission.java	2014-08-26 11:21:50.000000000 +0800
+++ new/src/java.management/share/classes/javax/management/MBeanPermission.java	2014-08-26 11:21:49.000000000 +0800
@@ -455,11 +455,11 @@
         name.append(className);
         if (member == null)
             member = "-";
-        name.append("#" + member);
+        name.append('#').append(member);
         if (objectName == null)
             name.append("[-]");
         else
-            name.append("[").append(objectName.getCanonicalName()).append("]");
+            name.append('[').append(objectName.getCanonicalName()).append(']');
 
         /* In the interests of legibility for Permission.toString(), we
            transform the empty string into "*".  */
--- old/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java	2014-08-26 11:21:52.000000000 +0800
+++ new/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java	2014-08-26 11:21:52.000000000 +0800
@@ -716,15 +716,14 @@
         }
 
         retStr.append("\nMBeanInfo for ModelMBean is:");
-        retStr.append("\nCLASSNAME: \t"+ info.getClassName());
-        retStr.append("\nDESCRIPTION: \t"+ info.getDescription());
+        retStr.append("\nCLASSNAME: \t").append(info.getClassName());
+        retStr.append("\nDESCRIPTION: \t").append(info.getDescription());
 
 
         try {
-            retStr.append("\nMBEAN DESCRIPTOR: \t"+
-                          info.getMBeanDescriptor());
+            retStr.append("\nMBEAN DESCRIPTOR: \t").append(info.getMBeanDescriptor());
         } catch (Exception e) {
-            retStr.append("\nMBEAN DESCRIPTOR: \t" + " is invalid");
+            retStr.append("\nMBEAN DESCRIPTOR: \t  is invalid");
         }
 
         retStr.append("\nATTRIBUTES");
@@ -734,13 +733,12 @@
             for (int i=0; i<attrInfo.length; i++) {
                 final ModelMBeanAttributeInfo attInfo =
                     (ModelMBeanAttributeInfo)attrInfo[i];
-                retStr.append(" ** NAME: \t"+ attInfo.getName());
-                retStr.append("    DESCR: \t"+ attInfo.getDescription());
-                retStr.append("    TYPE: \t"+ attInfo.getType() +
-                              "    READ: \t"+ attInfo.isReadable() +
-                              "    WRITE: \t"+ attInfo.isWritable());
-                retStr.append("    DESCRIPTOR: " +
-                              attInfo.getDescriptor().toString());
+                retStr.append(" ** NAME: \t").append(attInfo.getName());
+                retStr.append("    DESCR: \t").append(attInfo.getDescription());
+                retStr.append("    TYPE: \t").append(attInfo.getType())
+                        .append("    READ: \t").append(attInfo.isReadable())
+                        .append("    WRITE: \t").append(attInfo.isWritable());
+                retStr.append("    DESCRIPTOR: ").append(attInfo.getDescriptor());
             }
         } else {
             retStr.append(" ** No attributes **");
@@ -752,14 +750,13 @@
             for (int i=0; i<constrInfo.length; i++) {
                 final ModelMBeanConstructorInfo ctorInfo =
                     (ModelMBeanConstructorInfo)constrInfo[i];
-                retStr.append(" ** NAME: \t"+ ctorInfo.getName());
-                retStr.append("    DESCR: \t"+
-                              ctorInfo.getDescription());
-                retStr.append("    PARAM: \t"+
-                              ctorInfo.getSignature().length +
-                              " parameter(s)");
-                retStr.append("    DESCRIPTOR: " +
-                              ctorInfo.getDescriptor().toString());
+                retStr.append(" ** NAME: \t").append(ctorInfo.getName());
+                retStr.append("    DESCR: \t").append(ctorInfo.getDescription());
+                retStr.append("    PARAM: \t")
+                        .append(ctorInfo.getSignature().length)
+                        .append(" parameter(s)");
+                retStr.append("    DESCRIPTOR: ").append(
+                        ctorInfo.getDescriptor());
             }
         } else {
             retStr.append(" ** No Constructors **");
@@ -771,13 +768,12 @@
             for (int i=0; i<opsInfo.length; i++) {
                 final ModelMBeanOperationInfo operInfo =
                     (ModelMBeanOperationInfo)opsInfo[i];
-                retStr.append(" ** NAME: \t"+ operInfo.getName());
-                retStr.append("    DESCR: \t"+ operInfo.getDescription());
-                retStr.append("    PARAM: \t"+
-                              operInfo.getSignature().length +
-                              " parameter(s)");
-                retStr.append("    DESCRIPTOR: " +
-                              operInfo.getDescriptor().toString());
+                retStr.append(" ** NAME: \t").append(operInfo.getName());
+                retStr.append("    DESCR: \t").append(operInfo.getDescription());
+                retStr.append("    PARAM: \t")
+                        .append(operInfo.getSignature().length)
+                        .append(" parameter(s)");
+                retStr.append("    DESCRIPTOR: ").append(operInfo.getDescriptor());
             }
         } else {
             retStr.append(" ** No operations ** ");
@@ -790,10 +786,9 @@
             for (int i=0; i<notifInfo.length; i++) {
                 final ModelMBeanNotificationInfo nInfo =
                     (ModelMBeanNotificationInfo)notifInfo[i];
-                retStr.append(" ** NAME: \t"+ nInfo.getName());
-                retStr.append("    DESCR: \t"+ nInfo.getDescription());
-                retStr.append("    DESCRIPTOR: " +
-                              nInfo.getDescriptor().toString());
+                retStr.append(" ** NAME: \t").append(nInfo.getName());
+                retStr.append("    DESCR: \t").append(nInfo.getDescription());
+                retStr.append("    DESCRIPTOR: ").append(nInfo.getDescriptor());
             }
         } else {
             retStr.append(" ** No notifications **");
--- old/src/java.management/share/classes/javax/management/openmbean/CompositeType.java	2014-08-26 11:21:55.000000000 +0800
+++ new/src/java.management/share/classes/javax/management/openmbean/CompositeType.java	2014-08-26 11:21:54.000000000 +0800
@@ -463,7 +463,7 @@
                 result.append("(itemName=");
                 result.append(key);
                 result.append(",itemType=");
-                result.append(nameToType.get(key).toString() +")");
+                result.append(nameToType.get(key)).append(')');
                 i++;
             }
             result.append("))");
--- old/src/java.management/share/classes/javax/management/relation/Role.java	2014-08-26 11:21:57.000000000 +0800
+++ new/src/java.management/share/classes/javax/management/relation/Role.java	2014-08-26 11:21:57.000000000 +0800
@@ -226,17 +226,17 @@
      * @return the description of the role.
      */
     public String toString() {
-        StringBuilder result = new StringBuilder();
-        result.append("role name: " + name + "; role value: ");
-        for (Iterator<ObjectName> objNameIter = objectNameList.iterator();
-             objNameIter.hasNext();) {
+        StringBuilder sb = new StringBuilder();
+        sb.append("role name: ").append(name).append("; role value: ");
+        for (Iterator<ObjectName> objNameIter = objectNameList.iterator(); objNameIter
+                .hasNext();) {
             ObjectName currObjName = objNameIter.next();
-            result.append(currObjName.toString());
+            sb.append(currObjName);
             if (objNameIter.hasNext()) {
-                result.append(", ");
+                sb.append(", ");
             }
         }
-        return result.toString();
+        return sb.toString();
     }
 
     //
--- old/src/java.management/share/classes/javax/management/relation/RoleInfo.java	2014-08-26 11:22:00.000000000 +0800
+++ new/src/java.management/share/classes/javax/management/relation/RoleInfo.java	2014-08-26 11:21:59.000000000 +0800
@@ -456,13 +456,13 @@
      */
     public String toString() {
         StringBuilder result = new StringBuilder();
-        result.append("role info name: " + name);
-        result.append("; isReadable: " + isReadable);
-        result.append("; isWritable: " + isWritable);
-        result.append("; description: " + description);
-        result.append("; minimum degree: " + minDegree);
-        result.append("; maximum degree: " + maxDegree);
-        result.append("; MBean class: " + referencedMBeanClassName);
+        result.append("role info name: ").append(name);
+        result.append("; isReadable: ").append(isReadable);
+        result.append("; isWritable: ").append(isWritable);
+        result.append("; description: ").append(description);
+        result.append("; minimum degree: ").append(minDegree);
+        result.append("; maximum degree: ").append(maxDegree);
+        result.append("; MBean class: ").append(referencedMBeanClassName);
         return result.toString();
     }
 
--- old/src/java.management/share/classes/javax/management/relation/RoleUnresolved.java	2014-08-26 11:22:02.000000000 +0800
+++ new/src/java.management/share/classes/javax/management/relation/RoleUnresolved.java	2014-08-26 11:22:02.000000000 +0800
@@ -282,7 +282,7 @@
      */
     public String toString() {
         StringBuilder result = new StringBuilder();
-        result.append("role name: " + roleName);
+        result.append("role name: ").append(roleName);
         if (roleValue != null) {
             result.append("; value: ");
             for (Iterator<ObjectName> objNameIter = roleValue.iterator();
@@ -294,7 +294,7 @@
                 }
             }
         }
-        result.append("; problem type: " + problemType);
+        result.append("; problem type: ").append(problemType);
         return result.toString();
     }
 
--- old/src/java.management/share/classes/sun/management/Agent.java	2014-08-26 11:22:05.000000000 +0800
+++ new/src/java.management/share/classes/sun/management/Agent.java	2014-08-26 11:22:04.000000000 +0800
@@ -502,7 +502,7 @@
         } else {
             StringBuilder message = new StringBuilder(params[0]);
             for (int i = 1; i < params.length; i++) {
-                message.append(" " + params[i]);
+                message.append(' ').append(params[i]);
             }
             error(key, message.toString());
         }
--- old/src/java.management/share/classes/sun/management/MappedMXBeanType.java	2014-08-26 11:22:08.000000000 +0800
+++ new/src/java.management/share/classes/sun/management/MappedMXBeanType.java	2014-08-26 11:22:07.000000000 +0800
@@ -289,7 +289,7 @@
             if (et.isPrimitive()) {
                 className = new StringBuilder(c.getName());
             } else {
-                className.append("L" + baseElementType.getTypeName() + ";");
+                className.append('L').append(baseElementType.getTypeName()).append(';');
             }
             try {
                 mappedTypeClass = Class.forName(className.toString());
@@ -385,7 +385,7 @@
             if (elementType instanceof Class && ((Class) elementType).isPrimitive()) {
                 className = new StringBuilder(gat.toString());
             } else {
-                className.append("L" + baseElementType.getTypeName() + ";");
+                className.append('L').append(baseElementType.getTypeName()).append(';');
             }
             try {
                 mappedTypeClass = Class.forName(className.toString());
--- old/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java	2014-08-26 11:22:10.000000000 +0800
+++ new/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java	2014-08-26 11:22:10.000000000 +0800
@@ -90,7 +90,7 @@
                         if (selected == -1) {
                             StringBuilder allChoices = new StringBuilder();
                             for (int j = 0; j <  choices.length; j++) {
-                                allChoices.append(choices[j] + ",");
+                                allChoices.append(choices[j]).append(',');
                             }
                             throw new IOException("Cannot match " +
                                 "'java.naming.security.sasl.realm' property value, '" +
--- old/src/java.naming/share/classes/javax/naming/BinaryRefAddr.java	2014-08-26 11:22:13.000000000 +0800
+++ new/src/java.naming/share/classes/javax/naming/BinaryRefAddr.java	2014-08-26 11:22:12.000000000 +0800
@@ -165,11 +165,11 @@
       * @return The non-null string representation of this address.
       */
     public String toString(){
-        StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n");
-
+        StringBuilder str = new StringBuilder();
+        str.append("Address Type: ").append(addrType).append('\n');
         str.append("AddressContents: ");
         for (int i = 0; i<buf.length && i < 32; i++) {
-            str.append(Integer.toHexString(buf[i]) +" ");
+            str.append(Integer.toHexString(buf[i])).append(' ');
         }
         if (buf.length >= 32)
             str.append(" ...\n");
--- old/src/java.naming/share/classes/javax/naming/NameImpl.java	2014-08-26 11:22:16.000000000 +0800
+++ new/src/java.naming/share/classes/javax/naming/NameImpl.java	2014-08-26 11:22:15.000000000 +0800
@@ -170,7 +170,7 @@
                 endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2;
 
                 i += syntaxTypevalSeparator.length();
-                answer.append(syntaxTypevalSeparator+beginQuote); // add back
+                answer.append(syntaxTypevalSeparator).append(beginQuote); // add back
 
                 // consume string until matching quote
                 for (i += beginQuote.length();
--- old/src/java.naming/share/classes/javax/naming/RefAddr.java	2014-08-26 11:22:18.000000000 +0800
+++ new/src/java.naming/share/classes/javax/naming/RefAddr.java	2014-08-26 11:22:17.000000000 +0800
@@ -139,9 +139,9 @@
       * @return The non-null string representation of this address.
       */
     public String toString(){
-        StringBuilder str = new StringBuilder("Type: " + addrType + "\n");
-
-        str.append("Content: " + getContent() + "\n");
+        StringBuilder str = new StringBuilder();
+        str.append("Type: ").append(addrType).append('\n');
+        str.append("Content: ").append(getContent()).append('\n');
         return (str.toString());
     }
 
--- old/src/java.rmi/share/classes/java/rmi/dgc/VMID.java	2014-08-26 11:22:20.000000000 +0800
+++ new/src/java.rmi/share/classes/java/rmi/dgc/VMID.java	2014-08-26 11:22:20.000000000 +0800
@@ -124,8 +124,7 @@
         if (addr != null)
             for (int i = 0; i < addr.length; ++ i) {
                 int x = addr[i] & 0xFF;
-                sb.append((x < 0x10 ? "0" : "") +
-                          Integer.toString(x, 16));
+                sb.append(x < 0x10 ? "0" : "").append(Integer.toString(x, 16));
             }
         sb.append(':');
         sb.append(uid.toString());
--- old/src/java.security.acl/share/classes/sun/security/acl/AclEntryImpl.java	2014-08-26 11:22:23.000000000 +0800
+++ new/src/java.security.acl/share/classes/sun/security/acl/AclEntryImpl.java	2014-08-26 11:22:22.000000000 +0800
@@ -138,24 +138,28 @@
      * Return a string representation of  the contents of the ACL entry.
      */
     public String toString() {
-        StringBuffer s = new StringBuffer();
-        if (negative)
-          s.append("-");
-        else
-          s.append("+");
-        if (user instanceof Group)
-            s.append("Group.");
-        else
-            s.append("User.");
-        s.append(user + "=");
+        StringBuffer sb = new StringBuffer();
+        if (negative) {
+            sb.append('-');
+        } else {
+            sb.append('+');
+        }
+        if (user instanceof Group) {
+            sb.append("Group.");
+        } else {
+            sb.append("User.");
+        }
+        sb.append(user).append('=');
+
         Enumeration<Permission> e = permissions();
-        while(e.hasMoreElements()) {
+        while (e.hasMoreElements()) {
             Permission p = e.nextElement();
-            s.append(p);
-            if (e.hasMoreElements())
-                s.append(",");
+            sb.append(p);
+            if (e.hasMoreElements()) {
+                sb.append(',');
+            }
         }
-        return new String(s);
+        return sb.toString();
     }
 
     /**
--- old/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java	2014-08-26 11:22:25.000000000 +0800
+++ new/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java	2014-08-26 11:22:25.000000000 +0800
@@ -651,8 +651,8 @@
         StringBuilder caddrString = new StringBuilder();
         if (clientAddresses != null) {
             for (int i = 0; i < clientAddresses.length; i++) {
-                caddrString.append("clientAddresses[" + i + "] = " +
-                        clientAddresses[i].toString());
+                caddrString.append("clientAddresses[").append(i).append("] = ")
+                        .append(clientAddresses[i]);
             }
         }
         return ("Ticket (hex) = " + "\n" +
--- old/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java	2014-08-26 11:22:29.000000000 +0800
+++ new/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java	2014-08-26 11:22:28.000000000 +0800
@@ -640,8 +640,7 @@
 
         for (int i = 0; i < digest.length; i++) {
             if ((digest[i] & 0x000000ff) < 0x10) {
-                digestString.append("0" +
-                    Integer.toHexString(digest[i] & 0x000000ff));
+                digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff));
             } else {
                 digestString.append(
                     Integer.toHexString(digest[i] & 0x000000ff));
--- old/src/java.security.sasl/share/classes/com/sun/security/sasl/CramMD5Base.java	2014-08-26 11:22:32.000000000 +0800
+++ new/src/java.security.sasl/share/classes/com/sun/security/sasl/CramMD5Base.java	2014-08-26 11:22:31.000000000 +0800
@@ -196,8 +196,7 @@
 
         for (i = 0; i < digest.length; i++) {
             if ((digest[i] & 0x000000ff) < 0x10) {
-                digestString.append("0" +
-                    Integer.toHexString(digest[i] & 0x000000ff));
+                digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff));
             } else {
                 digestString.append(
                     Integer.toHexString(digest[i] & 0x000000ff));
--- old/src/java.security.sasl/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2014-08-26 11:22:34.000000000 +0800
+++ new/src/java.security.sasl/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2014-08-26 11:22:34.000000000 +0800
@@ -391,8 +391,7 @@
 
         for (int i = 0; i < digest.length; i ++) {
             if ((digest[i] & 0x000000ff) < 0x10) {
-                digestString.append("0"+
-                    Integer.toHexString(digest[i] & 0x000000ff));
+                digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff));
             } else {
                 digestString.append(
                     Integer.toHexString(digest[i] & 0x000000ff));
--- old/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java	2014-08-26 11:22:37.000000000 +0800
+++ new/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java	2014-08-26 11:22:36.000000000 +0800
@@ -235,14 +235,15 @@
                     String nodeName = att.getNodeName();
                     if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:"))
                         && !storedNamespaces.containsKey(att.getNodeName())) {
-                        sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\"");
+                        sb.append(' ').append(nodeName).append("=\"")
+                                .append(att.getNodeValue()).append('"');
                         storedNamespaces.put(nodeName, att.getNodeValue());
                     }
                 }
             }
             wk = wk.getParentNode();
         }
-        sb.append(">" + source + "</dummy>");
+        sb.append('>').append(source).append("</dummy>");
         return sb.toString();
     }
 
--- old/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java	2014-08-26 11:22:39.000000000 +0800
+++ new/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java	2014-08-26 11:22:38.000000000 +0800
@@ -85,7 +85,7 @@
             if (prefix.equals("xmlns")) {
                 sb.append("#default ");
             } else {
-                sb.append(prefix + " ");
+                sb.append(prefix).append(' ');
             }
         }
 
--- old/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java	2014-08-26 11:22:42.000000000 +0800
+++ new/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java	2014-08-26 11:22:41.000000000 +0800
@@ -88,7 +88,7 @@
                 l += countQuotes(DN, j, k);
 
                 if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) {
-                    sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ",");
+                    sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(',');
 
                     i = k + 1;
                     l = 0;
@@ -121,7 +121,7 @@
             l += countQuotes(str, j, k);
 
             if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) {
-                sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+");
+                sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+');
 
                 i = k + 1;
                 l = 0;
@@ -369,7 +369,7 @@
         int k;
 
         for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) {
-            sb.append(trim(string.substring(i, k)) + "\\ ");
+            sb.append(trim(string.substring(i, k))).append("\\ ");
 
             i = k + 3;
         }
@@ -418,7 +418,7 @@
             l += countQuotes(str, j, k);
 
             if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) {
-                sb.append(trim(str.substring(i, k)) + replace);
+                sb.append(trim(str.substring(i, k))).append(replace);
 
                 i = k + 1;
                 l = 0;
--- old/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java	2014-08-26 11:22:44.000000000 +0800
+++ new/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java	2014-08-26 11:22:43.000000000 +0800
@@ -196,24 +196,23 @@
             } else if (type == ATTR_CLASS_CERT) {
                 sb.append("\ttype=[trusted cert]\n");
             }
-            sb.append("\tlabel=[" + label + "]\n");
+            sb.append("\tlabel=[").append(label).append("]\n");
             if (id == null) {
                 sb.append("\tid=[null]\n");
             } else {
-                sb.append("\tid=" + P11KeyStore.getID(id) + "\n");
+                sb.append("\tid=").append(P11KeyStore.getID(id)).append('\n');
             }
-            sb.append("\ttrusted=[" + trusted + "]\n");
-            sb.append("\tmatched=[" + matched + "]\n");
+            sb.append("\ttrusted=[").append(trusted).append("]\n");
+            sb.append("\tmatched=[").append(matched).append("]\n");
             if (cert == null) {
                 sb.append("\tcert=[null]\n");
             } else {
-                sb.append("\tcert=[\tsubject: " +
-                        cert.getSubjectX500Principal() +
-                        "\n\t\tissuer: " +
-                        cert.getIssuerX500Principal() +
-                        "\n\t\tserialNum: " +
-                        cert.getSerialNumber().toString() +
-                        "]");
+                sb.append("\tcert=[\tsubject: ")
+                        .append(cert.getSubjectX500Principal())
+                        .append("\n\t\tissuer: ")
+                        .append(cert.getIssuerX500Principal())
+                        .append("\n\t\tserialNum: ")
+                        .append(cert.getSerialNumber()).append(']');
             }
             return sb.toString();
         }
--- old/src/jdk.dev/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java	2014-08-26 11:22:47.000000000 +0800
+++ new/src/jdk.dev/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java	2014-08-26 11:22:46.000000000 +0800
@@ -346,12 +346,12 @@
 
     public String valueString(boolean bigLimit) {
         // Char arrays deserve special treatment
-        StringBuffer result;
+        StringBuilder result;
         byte[] value = getValue();
         int max = value.length;
         byte elementSignature = getElementType();
         if (elementSignature == 'C')  {
-            result = new StringBuffer();
+            result = new StringBuilder();
             for (int i = 0; i < value.length; ) {
                 char val = charAt(i, value);
                 result.append(val);
@@ -362,7 +362,7 @@
             if (bigLimit) {
                 limit = 1000;
             }
-            result = new StringBuffer("{");
+            result = new StringBuilder("{");
             int num = 0;
             for (int i = 0; i < value.length; ) {
                 if (num > 0) {
@@ -386,37 +386,37 @@
                     }
                     case 'B': {
                         int val = 0xFF & byteAt(i, value);
-                        result.append("0x" + Integer.toString(val, 16));
+                        result.append("0x").append(Integer.toString(val, 16));
                         i++;
                         break;
                     }
                     case 'S': {
                         short val = shortAt(i, value);
                         i += 2;
-                        result.append("" + val);
+                        result.append(val);
                         break;
                     }
                     case 'I': {
                         int val = intAt(i, value);
                         i += 4;
-                        result.append("" + val);
+                        result.append(val);
                         break;
                     }
                     case 'J': {         // long
                         long val = longAt(i, value);
-                        result.append("" + val);
+                        result.append(val);
                         i += 8;
                         break;
                     }
                     case 'F': {
                         float val = floatAt(i, value);
-                        result.append("" + val);
+                        result.append(val);
                         i += 4;
                         break;
                     }
                     case 'D': {         // double
                         double val = doubleAt(i, value);
-                        result.append("" + val);
+                        result.append(val);
                         i += 8;
                         break;
                     }
@@ -425,7 +425,7 @@
                     }
                 }
             }
-            result.append("}");
+            result.append('}');
         }
         return result.toString();
     }
--- old/src/jdk.dev/share/classes/com/sun/tools/hat/internal/util/Misc.java	2014-08-26 11:22:49.000000000 +0800
+++ new/src/jdk.dev/share/classes/com/sun/tools/hat/internal/util/Misc.java	2014-08-26 11:22:49.000000000 +0800
@@ -97,11 +97,11 @@
             } else if (ch == '&') {
                 sb.append("&amp;");
             } else if (ch < ' ') {
-                sb.append("&#" + Integer.toString(ch) + ";");
+                sb.append("&#").append((int)ch).append(';');
             } else {
                 int c = (ch & 0xFFFF);
                 if (c > 127) {
-                    sb.append("&#" + Integer.toString(c) + ";");
+                    sb.append("&#").append((int)c).append(';');
                 } else {
                     sb.append(ch);
                 }
--- old/src/jdk.dev/share/classes/sun/security/tools/jarsigner/Main.java	2014-08-26 11:22:52.000000000 +0800
+++ new/src/jdk.dev/share/classes/sun/security/tools/jarsigner/Main.java	2014-08-26 11:22:51.000000000 +0800
@@ -676,14 +676,13 @@
                             ((man.getAttributes(name) != null) ||
                              (man.getAttributes("./"+name) != null) ||
                              (man.getAttributes("/"+name) != null));
-                        sb.append(
-                          (isSigned ? rb.getString("s") : rb.getString("SPACE")) +
-                          (inManifest ? rb.getString("m") : rb.getString("SPACE")) +
-                          (inStore ? rb.getString("k") : rb.getString("SPACE")) +
-                          (inScope ? rb.getString("i") : rb.getString("SPACE")) +
-                          ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") +
-                          rb.getString("SPACE"));
-                        sb.append("|");
+                        sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE"))
+                                .append(inManifest ? rb.getString("m") : rb.getString("SPACE"))
+                                .append(inStore ? rb.getString("k") : rb.getString("SPACE"))
+                                .append(inScope ? rb.getString("i") : rb.getString("SPACE"))
+                                .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ')
+                                .append(rb.getString("SPACE"));
+                        sb.append('|');
                     }
 
                     // When -certs provided, display info has extra empty
@@ -704,11 +703,15 @@
                         // Print no info for unsigned entries when -verbose:all,
                         // to be consistent with old behavior.
                         if (signatureRelated(name)) {
-                            sb.append("\n" + tab + rb.getString(
-                                    ".Signature.related.entries.") + "\n\n");
+                            sb.append('\n')
+                                    .append(tab)
+                                    .append(rb
+                                            .getString(".Signature.related.entries."))
+                                    .append("\n\n");
                         } else {
-                            sb.append("\n" + tab + rb.getString(
-                                    ".Unsigned.entries.") + "\n\n");
+                            sb.append('\n').append(tab)
+                                    .append(rb.getString(".Unsigned.entries."))
+                                    .append("\n\n");
                         }
                     }
 
@@ -1605,8 +1608,8 @@
                 // No more warning, we alreay have hasExpiredCert or notYetValidCert
             } else {
                 chainNotValidated = true;
-                sb.append(tab + rb.getString(".CertPath.not.validated.") +
-                        e.getLocalizedMessage() + "]\n");   // TODO
+                sb.append(tab).append(rb.getString(".CertPath.not.validated."))
+                        .append(e.getLocalizedMessage()).append("]\n"); // TODO
             }
         }
         String result = sb.toString();
--- old/src/jdk.jcmd/share/classes/sun/tools/jps/Jps.java	2014-08-26 11:22:54.000000000 +0800
+++ new/src/jdk.jcmd/share/classes/sun/tools/jps/Jps.java	2014-08-26 11:22:54.000000000 +0800
@@ -92,28 +92,28 @@
                     vm = monitoredHost.getMonitoredVm(id, 0);
 
                     errorString = " -- main class information unavailable";
-                    output.append(" " + MonitoredVmUtil.mainClass(vm,
+                    output.append(' ').append(MonitoredVmUtil.mainClass(vm,
                             arguments.showLongPaths()));
 
                     if (arguments.showMainArgs()) {
                         errorString = " -- main args information unavailable";
                         String mainArgs = MonitoredVmUtil.mainArgs(vm);
                         if (mainArgs != null && mainArgs.length() > 0) {
-                            output.append(" " + mainArgs);
+                            output.append(' ').append(mainArgs);
                         }
                     }
                     if (arguments.showVmArgs()) {
                         errorString = " -- jvm args information unavailable";
                         String jvmArgs = MonitoredVmUtil.jvmArgs(vm);
                         if (jvmArgs != null && jvmArgs.length() > 0) {
-                          output.append(" " + jvmArgs);
+                          output.append(' ').append(jvmArgs);
                         }
                     }
                     if (arguments.showVmFlags()) {
                         errorString = " -- jvm flags information unavailable";
                         String jvmFlags = MonitoredVmUtil.jvmFlags(vm);
                         if (jvmFlags != null && jvmFlags.length() > 0) {
-                            output.append(" " + jvmFlags);
+                            output.append(' ').append(jvmFlags);
                         }
                     }
 
--- old/src/jdk.jcmd/share/classes/sun/tools/jstat/RawOutputFormatter.java	2014-08-26 11:22:58.000000000 +0800
+++ new/src/jdk.jcmd/share/classes/sun/tools/jstat/RawOutputFormatter.java	2014-08-26 11:22:57.000000000 +0800
@@ -50,7 +50,7 @@
             StringBuilder headerBuilder = new StringBuilder();
             for (Iterator<Monitor> i = logged.iterator(); i.hasNext(); /* empty */ ) {
                 Monitor m = i.next();
-                headerBuilder.append(m.getName() + " ");
+                headerBuilder.append(m.getName()).append(' ');
             }
             header = headerBuilder.toString();
         }
--- old/src/jdk.jcmd/share/classes/sun/tools/jstat/SyntaxException.java	2014-08-26 11:23:00.000000000 +0800
+++ new/src/jdk.jcmd/share/classes/sun/tools/jstat/SyntaxException.java	2014-08-26 11:23:00.000000000 +0800
@@ -65,7 +65,7 @@
     public SyntaxException(int lineno, Set<String> expected, Token found) {
         StringBuilder msg = new StringBuilder();
 
-        msg.append("Syntax error at line " + lineno + ": Expected one of \'");
+        msg.append("Syntax error at line ").append(lineno).append(": Expected one of \'");
 
         boolean first = true;
         for (Iterator<String> i = expected.iterator(); i.hasNext(); /* empty */) {
@@ -74,11 +74,11 @@
                 msg.append(keyWord);
                 first = false;
             } else {
-                msg.append("|" + keyWord);
+                msg.append('|').append(keyWord);
             }
         }
 
-        msg.append("\', Found " + found.toMessage());
+        msg.append("\', Found ").append(found.toMessage());
         message = msg.toString();
     }
 
--- old/src/jdk.jcmd/share/classes/sun/tools/jstat/Token.java	2014-08-26 11:23:03.000000000 +0800
+++ new/src/jdk.jcmd/share/classes/sun/tools/jstat/Token.java	2014-08-26 11:23:02.000000000 +0800
@@ -89,18 +89,18 @@
             sb.append("ttype=TT_EOF");
             break;
         case StreamTokenizer.TT_NUMBER:
-            sb.append("ttype=TT_NUM,").append("nval="+nval);
+            sb.append("ttype=TT_NUM,").append("nval=").append(nval);
             break;
         case StreamTokenizer.TT_WORD:
             if (sval == null) {
                 sb.append("ttype=TT_WORD:IDENTIFIER");
             } else {
-                sb.append("ttype=TT_WORD:").append("sval="+sval);
+                sb.append("ttype=TT_WORD:").append("sval=").append(sval);
             }
             break;
         default:
             if (ttype == (int)'"') {
-                sb.append("ttype=TT_STRING:").append("sval="+sval);
+                sb.append("ttype=TT_STRING:").append("sval=").append(sval);
             } else {
                 sb.append("ttype=TT_CHAR:").append((char)ttype);
             }
--- old/src/jdk.jconsole/share/classes/sun/tools/jconsole/ThreadTab.java	2014-08-26 11:23:05.000000000 +0800
+++ new/src/jdk.jconsole/share/classes/sun/tools/jconsole/ThreadTab.java	2014-08-26 11:23:05.000000000 +0800
@@ -368,7 +368,7 @@
                             sb.append(Messages.STACK_TRACE);
                             int index = 0;
                             for (StackTraceElement e : ti.getStackTrace()) {
-                                sb.append(e.toString()+"\n");
+                                sb.append(e).append('\n');
                                 if (monitors != null) {
                                     for (MonitorInfo mi : monitors) {
                                         if (mi.getLockedStackDepth() == index) {
--- old/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java	2014-08-26 11:23:08.000000000 +0800
+++ new/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java	2014-08-26 11:23:07.000000000 +0800
@@ -79,25 +79,25 @@
             String textColor = String.format("%06x",
                                              foreground.getRGB() & 0xFFFFFF);
             StringBuilder sb = new StringBuilder();
-            sb.append("<html><body text=#"+textColor+"><table width=\"100%\">");
+            sb.append("<html><body text=#").append(textColor).append("><table width=\"100%\">");
             for (int i = 0; i < arr.length; i++) {
                 if (i % 2 == 0) {
-                    sb.append("<tr style=\"background-color: " +
-                            evenRowColorStr + "\"><td><pre>" +
-                            (arr[i] == null ?
-                                arr[i] : htmlize(arr[i].toString())) +
-                            "</pre></td></tr>");
+                    sb.append("<tr style=\"background-color: ")
+                            .append(evenRowColorStr).append("\"><td><pre>")
+                            .append(arr[i] == null ?
+                                    arr[i] : htmlize(arr[i].toString()))
+                      .append("</pre></td></tr>");
                 } else {
-                    sb.append("<tr style=\"background-color: " +
-                            oddRowColorStr + "\"><td><pre>" +
-                            (arr[i] == null ?
-                                arr[i] : htmlize(arr[i].toString())) +
-                            "</pre></td></tr>");
+                    sb.append("<tr style=\"background-color: ")
+                            .append(oddRowColorStr).append("\"><td><pre>")
+                            .append(arr[i] == null ?
+                                    arr[i] : htmlize(arr[i].toString()))
+                            .append("</pre></td></tr>");
                 }
             }
             if (arr.length == 0) {
-                sb.append("<tr style=\"background-color: " +
-                        evenRowColorStr + "\"><td></td></tr>");
+                sb.append("<tr style=\"background-color: ")
+                        .append(evenRowColorStr).append("\"><td></td></tr>");
             }
             sb.append("</table></body></html>");
             arrayEditor.setText(sb.toString());
--- old/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java	2014-08-26 11:23:10.000000000 +0800
+++ new/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java	2014-08-26 11:23:09.000000000 +0800
@@ -507,13 +507,13 @@
         // key order defined by the "orderedKeyPropertyList"
         for (String key : orderedKeyPropertyList) {
             if (map.containsKey(key)) {
-                sb.append(key + "=" + map.get(key) + ",");
+                sb.append(key).append('=').append(map.get(key)).append(',');
                 map.remove(key);
             }
         }
         // Add the remaining key/value pairs to the buffer
         for (Map.Entry<String, String> entry : map.entrySet()) {
-            sb.append(entry.getKey() + "=" + entry.getValue() + ",");
+            sb.append(entry.getKey()).append('=').append(entry.getValue()).append(',');
         }
         String orderedKeyPropertyListString = sb.toString();
         orderedKeyPropertyListString = orderedKeyPropertyListString.substring(
@@ -622,7 +622,7 @@
                     //
                     StringBuilder sb = new StringBuilder();
                     for (MBeanParameterInfo mbpi : mboi.getSignature()) {
-                        sb.append(mbpi.getType() + ",");
+                        sb.append(mbpi.getType()).append(',');
                     }
                     String signature = sb.toString();
                     if (signature.length() > 0) {
--- old/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ParseException.java	2014-08-26 11:23:12.000000000 +0800
+++ new/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ParseException.java	2014-08-26 11:23:12.000000000 +0800
@@ -198,7 +198,7 @@
            default:
               if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                  String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+                 retval.append("\\u").append(s.substring(s.length() - 4, s.length()));
               } else {
                  retval.append(ch);
               }
--- old/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java	2014-08-26 11:23:15.000000000 +0800
+++ new/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java	2014-08-26 11:23:14.000000000 +0800
@@ -107,7 +107,7 @@
         default:
           if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
             String s = "0000" + Integer.toString(ch, 16);
-            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+            retval.append("\\u").append(s.substring(s.length() - 4, s.length()));
           } else {
             retval.append(ch);
           }
--- old/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java	2014-08-26 11:23:17.000000000 +0800
+++ new/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java	2014-08-26 11:23:17.000000000 +0800
@@ -881,12 +881,12 @@
             } else if (tag == JDWP.TypeTag.ARRAY) {
                 sb.append("ArrayType");
             } else {
-                sb.append("UNKNOWN TAG: " + tag);
+                sb.append("UNKNOWN TAG: ").append(tag);
             }
             if (signature != null) {
-                sb.append(", signature='" + signature + "'");
+                sb.append(", signature='").append(signature).append('\'');
             }
-            sb.append(", id=" + id);
+            sb.append(", id=").append(id);
             vm.printTrace(sb.toString());
         }
         if (id == 0) {
--- old/src/jdk.jvmstat/share/classes/sun/tools/jstatd/RemoteHostImpl.java	2014-08-26 11:23:20.000000000 +0800
+++ new/src/jdk.jvmstat/share/classes/sun/tools/jstatd/RemoteHostImpl.java	2014-08-26 11:23:19.000000000 +0800
@@ -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();
--- old/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2014-08-26 11:23:22.000000000 +0800
+++ new/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2014-08-26 11:23:22.000000000 +0800
@@ -463,12 +463,12 @@
 
     // ---------
 
-    private static void appendIfLiteralAddress(String addr, StringBuffer sb) {
+    private static void appendIfLiteralAddress(String addr, StringBuilder sb) {
         if (IPAddressUtil.isIPv4LiteralAddress(addr)) {
-            sb.append("dns://" + addr + " ");
+            sb.append("dns://").append(addr).append(' ');
         } else {
             if (IPAddressUtil.isIPv6LiteralAddress(addr)) {
-                sb.append("dns://[" + addr + "] ");
+                sb.append("dns://[").append(addr).append("] ");
             }
         }
     }
@@ -478,7 +478,7 @@
      *         corresponding to the supplied List of nameservers.
      */
     private static String createProviderURL(List<String> nsList) {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         for (String s: nsList) {
             appendIfLiteralAddress(s, sb);
         }
@@ -491,7 +491,7 @@
      *         contained in the provided str.
      */
     private static String createProviderURL(String str) {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         StringTokenizer st = new StringTokenizer(str, ",");
         while (st.hasMoreTokens()) {
             appendIfLiteralAddress(st.nextToken(), sb);
--- old/src/jdk.runtime/share/classes/sun/security/tools/policytool/PolicyTool.java	2014-08-26 11:23:25.000000000 +0800
+++ new/src/jdk.runtime/share/classes/sun/security/tools/policytool/PolicyTool.java	2014-08-26 11:23:24.000000000 +0800
@@ -980,8 +980,9 @@
                                 grantEntry.principals.listIterator();
             while (list.hasNext()) {
                 PolicyParser.PrincipalEntry pppe = list.next();
-                sb.append(" Principal " + pppe.getDisplayClass() + " " +
-                    pppe.getDisplayName(true));
+                sb.append(" Principal ").append(pppe.getDisplayClass())
+                        .append(' ')
+                        .append(pppe.getDisplayName(true));
                 if (list.hasNext()) sb.append(", ");
             }
             result = sb.toString();
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java	2014-08-26 11:23:27.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java	2014-08-26 11:23:27.000000000 +0800
@@ -65,7 +65,7 @@
                 "extractSubNet", "BINARY ARRAY :");
             StringBuilder sb = new StringBuilder();
             for(int i =0; i < addrLength; i++) {
-                sb.append((b[i] & 0xFF) + ":");
+                sb.append(b[i] & 0xFF).append(':');
             }
             SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(),
                 "extractSubNet", sb.toString());
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java	2014-08-26 11:23:30.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java	2014-08-26 11:23:29.000000000 +0800
@@ -204,7 +204,7 @@
            default:
               if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                  String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+                 retval.append("\\u").append(s.substring(s.length() - 4, s.length()));
               } else {
                  retval.append(ch);
               }
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java	2014-08-26 11:23:32.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java	2014-08-26 11:23:32.000000000 +0800
@@ -379,7 +379,7 @@
         }
         jj_consume_token(DOT);
         t = jj_consume_token(IDENTIFIER);
-   jjtn000.name.append( "." + t.image);
+   jjtn000.name.append('.').append(t.image);
       }
     } finally {
     if (jjtc000) {
@@ -408,7 +408,7 @@
         }
         jj_consume_token(DOT);
         t = jj_consume_token(INTEGER_LITERAL);
-   jjtn000.address.append( "." + t.image);
+   jjtn000.address.append('.').append(t.image);
       }
     } finally {
   if (jjtc000) {
@@ -454,7 +454,7 @@
         }
         jj_consume_token(MARK);
         t = jj_consume_token(INTEGER_LITERAL);
-   jjtn000.address.append( "." + t.image);
+   jjtn000.address.append('.').append(t.image);
       }
     } finally {
   if (jjtc000) {
@@ -483,7 +483,7 @@
         }
         jj_consume_token(DOT);
         t = jj_consume_token(INTEGER_LITERAL);
-   jjtn000.address.append( "." + t.image);
+   jjtn000.address.append('.').append(t.image);
       }
       jj_consume_token(MASK);
       t = jj_consume_token(INTEGER_LITERAL);
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj	2014-08-26 11:23:35.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj	2014-08-26 11:23:34.000000000 +0800
@@ -420,7 +420,7 @@
   t=<IDENTIFIER> { jjtn000.name.append(t.image); }
 (
 "." t=<IDENTIFIER> 
-  {jjtn000.name.append( "." + t.image); }
+  {jjtn000.name.append( '.').append(t.image); }
 )*/*@bgen(jjtree)*/
   } finally {
     if (jjtc000) {
@@ -447,7 +447,7 @@
   {jjtn000.address.append(t.image); }
 (
 "." t= <INTEGER_LITERAL> 
-  {jjtn000.address.append( "." + t.image); }
+  {jjtn000.address.append( '.').append(t.image); }
 )*/*@bgen(jjtree)*/
 } finally {
   if (jjtc000) {
@@ -501,7 +501,7 @@
   {jjtn000.address.append(t.image); }
 (
 "!" t= <INTEGER_LITERAL> 
-  {jjtn000.address.append( "." + t.image); }
+  {jjtn000.address.append( '.').append(t.image); }
 )*/*@bgen(jjtree)*/
 } finally {
   if (jjtc000) {
@@ -527,7 +527,7 @@
   {jjtn000.address.append(t.image); }
 (
 "." t= <INTEGER_LITERAL> 
-  {jjtn000.address.append( "." + t.image); }
+  {jjtn000.address.append( '.').append(t.image); }
 )* "/" t= <INTEGER_LITERAL>/*@bgen(jjtree)*/
                             {
                               jjtree.closeNodeScope(jjtn000, true);
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt	2014-08-26 11:23:37.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jjt	2014-08-26 11:23:37.000000000 +0800
@@ -213,7 +213,7 @@
   t=<IDENTIFIER> { jjtThis.name.append(t.image); }
 (
 "." t=<IDENTIFIER> 
-  {jjtThis.name.append( "." + t.image); }
+  {jjtThis.name.append( '.').append(t.image); }
 )*
 
 }
@@ -228,7 +228,7 @@
   {jjtThis.address.append(t.image); }
 (
 "." t= <INTEGER_LITERAL> 
-  {jjtThis.address.append( "." + t.image); }
+  {jjtThis.address.append( '.').append(t.image); }
 )*
 
 }
@@ -253,7 +253,7 @@
   {jjtThis.address.append(t.image); }
 (
 "!" t= <INTEGER_LITERAL> 
-  {jjtThis.address.append( "." + t.image); }
+  {jjtThis.address.append( '.').append(t.image); }
 )*
 }
 
@@ -267,7 +267,7 @@
   {jjtThis.address.append(t.image); }
 (
 "." t= <INTEGER_LITERAL> 
-  {jjtThis.address.append( "." + t.image); }
+  {jjtThis.address.append( '.').append(t.image); }
 )* "/" t= <INTEGER_LITERAL> {jjtThis.mask = t.image; }
 }
 
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java	2014-08-26 11:23:40.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java	2014-08-26 11:23:39.000000000 +0800
@@ -99,7 +99,7 @@
            default:
               if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
                  String s = "0000" + Integer.toString(ch, 16);
-                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+                 retval.append("\\u").append(s.substring(s.length() - 4, s.length()));
               } else {
                  retval.append(ch);
               }
--- old/src/jdk.snmp/share/classes/com/sun/jmx/snmp/SnmpV3Message.java	2014-08-26 11:23:42.000000000 +0800
+++ new/src/jdk.snmp/share/classes/com/sun/jmx/snmp/SnmpV3Message.java	2014-08-26 11:23:42.000000000 +0800
@@ -479,10 +479,10 @@
      */
     public String printMessage() {
         StringBuilder sb = new StringBuilder();
-        sb.append("msgId : " + msgId + "\n");
-        sb.append("msgMaxSize : " + msgMaxSize + "\n");
-        sb.append("msgFlags : " + msgFlags + "\n");
-        sb.append("msgSecurityModel : " + msgSecurityModel + "\n");
+        sb.append("msgId : ").append(msgId).append('\n');
+        sb.append("msgMaxSize : ").append(msgMaxSize).append('\n');
+        sb.append("msgFlags : ").append(msgFlags).append('\n');
+        sb.append("msgSecurityModel : ").append(msgSecurityModel).append('\n');
 
         if (contextEngineId == null) {
             sb.append("contextEngineId : null");