Character, Byte, Short valueOf instead of new instance (original) (raw)
Otávio Gonçalves de Santana otaviojava at java.net
Sat Jun 14 16:38:21 UTC 2014
- Previous message: Long valueOf instead of new Long
- Next message: Character, Byte, Short valueOf instead of new instance
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Reason: The Character, Byte, Short classes have cache and using it, will save memory and will faster than using create new instance.
webrev: https://dl.dropboxusercontent.com/u/16109193/open_jdk/byte_short_character_value_of.zip
similar: https://bugs.openjdk.java.net/browse/JDK-8044461
-- Atenciosamente.
Otávio Gonçalves de Santana
blog: http://otaviosantana.blogspot.com.br/ twitter: http://twitter.com/otaviojava site: http://www.otaviojava.com.br (11) 98255-3513 -------------- next part -------------- diff -r d02b062bc827 src/share/classes/sun/tools/jconsole/inspector/Utils.java --- a/src/share/classes/sun/tools/jconsole/inspector/Utils.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/Utils.java Sat Jun 14 13:33:30 2014 -0300 @@ -342,14 +342,14 @@ Object result; if (primitiveToWrapper.containsKey(type)) { if (type.equals(Character.TYPE.getName())) {
result = new Character(value.charAt(0));
result = value.charAt(0); } else { result = newStringConstructor( ((Class<?>) primitiveToWrapper.get(type)).getName(), value); } } else if (type.equals(Character.class.getName())) {
result = new Character(value.charAt(0));
result = value.charAt(0); } else if (Number.class.isAssignableFrom(Utils.getClass(type))) { result = createNumberFromStringValue(value); } else if (value == null || value.equals("null")) {
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/sun/security/pkcs/PKCS9Attribute.java --- a/src/share/classes/sun/security/pkcs/PKCS9Attribute.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/sun/security/pkcs/PKCS9Attribute.java Sat Jun 14 13:33:30 2014 -0300 @@ -309,26 +309,26 @@ */ private static final Byte[][] PKCS9_VALUE_TAGS = { null,
{new Byte(DerValue.tag_IA5String)}, // EMailAddress
{new Byte(DerValue.tag_IA5String), // UnstructuredName
new Byte(DerValue.tag_PrintableString)},
{new Byte(DerValue.tag_ObjectId)}, // ContentType
{new Byte(DerValue.tag_OctetString)}, // MessageDigest
{new Byte(DerValue.tag_UtcTime)}, // SigningTime
{new Byte(DerValue.tag_Sequence)}, // Countersignature
{new Byte(DerValue.tag_PrintableString),
new Byte(DerValue.tag_T61String)}, // ChallengePassword
{new Byte(DerValue.tag_PrintableString),
new Byte(DerValue.tag_T61String)}, // UnstructuredAddress
{new Byte(DerValue.tag_SetOf)}, // ExtendedCertificateAttributes
{new Byte(DerValue.tag_Sequence)}, // issuerAndSerialNumber
{DerValue.tag_IA5String}, // EMailAddress
{DerValue.tag_IA5String, // UnstructuredName
DerValue.tag_PrintableString},
{DerValue.tag_ObjectId}, // ContentType
{DerValue.tag_OctetString}, // MessageDigest
{DerValue.tag_UtcTime}, // SigningTime
{DerValue.tag_Sequence}, // Countersignature
{DerValue.tag_PrintableString,
DerValue.tag_T61String}, // ChallengePassword
{DerValue.tag_PrintableString,
DerValue.tag_T61String}, // UnstructuredAddress
{DerValue.tag_SetOf}, // ExtendedCertificateAttributes
{DerValue.tag_Sequence}, // issuerAndSerialNumber null, null, null,
{new Byte(DerValue.tag_Sequence)}, // extensionRequest
{new Byte(DerValue.tag_Sequence)}, // SMIMECapability
{new Byte(DerValue.tag_Sequence)}, // SigningCertificate
{new Byte(DerValue.tag_Sequence)} // SignatureTimestampToken
{DerValue.tag_Sequence}, // extensionRequest
{DerValue.tag_Sequence}, // SMIMECapability
{DerValue.tag_Sequence}, // SigningCertificate
{DerValue.tag_Sequence} // SignatureTimestampToken
};
private static final Class[] VALUE_CLASSES = new Class[18];
@@ -511,7 +511,7 @@ // check for illegal element tags Byte tag; for (int i=0; i < elems.length; i++) {
tag = new Byte(elems[i].tag);
tag = elems[i].tag; if (indexOf(tag, PKCS9_VALUE_TAGS[index], 0) == -1) throwTagException(tag);
diff -r d02b062bc827 src/share/classes/sun/security/x509/AVA.java --- a/src/share/classes/sun/security/x509/AVA.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/sun/security/x509/AVA.java Sat Jun 14 13:33:30 2014 -0300 @@ -517,7 +517,7 @@ if (hexDigits.indexOf(Character.toUpperCase((char)c2)) >= 0) { int hi = Character.digit((char)c1, 16); int lo = Character.digit((char)c2, 16);
return new Byte((byte)((hi<<4) + lo));
return (byte)((hi<<4) + lo); } else { throw new IOException ("escaped hex value must include two valid digits");
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/sun/misc/ProxyGenerator.java --- a/src/share/classes/sun/misc/ProxyGenerator.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/sun/misc/ProxyGenerator.java Sat Jun 14 13:33:30 2014 -0300 @@ -1885,7 +1885,7 @@ "late constant pool addition: " + key); } short i = addEntry(new ValueEntry(key));
map.put(key, new Short(i));
map.put(key, i); return i; } }
@@ -1903,7 +1903,7 @@ throw new InternalError("late constant pool addition"); } short i = addEntry(e);
map.put(e, new Short(i));
map.put(e, i); return i; } }
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java --- a/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java Sat Jun 14 13:33:30 2014 -0300 @@ -139,7 +139,7 @@ "Unexpected exception: " + r); log.debug("getJvmThreadInstState",r); }
Byte[] result = { new Byte(bitmap[0]), new Byte(bitmap[1]) };
} -------------- next part -------------- diff -r d02b062bc827 src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java --- a/src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java Sat Jun 14 13:33:30 2014 -0300 @@ -1858,7 +1858,7 @@ break; case 'B': // pointer to CONSTANT_Byte av.visit(name,Byte[] result = {bitmap[0], bitmap[1]}; return result; }
new Byte((byte) readInt(items[readUnsignedShort(v)])));
(byte) readInt(items[readUnsignedShort(v)])); v += 2; break; case 'Z': // pointer to CONSTANT_Boolean
@@ -1868,13 +1868,12 @@ v += 2; break; case 'S': // pointer to CONSTANT_Short
av.visit(name, new Short(
(short) readInt(items[readUnsignedShort(v)])));
av.visit(name,
(short) readInt(items[readUnsignedShort(v)])); v += 2; break; case 'C': // pointer to CONSTANT_Char
av.visit(name, new Character(
(char) readInt(items[readUnsignedShort(v)])));
av.visit(name, (char) readInt(items[readUnsignedShort(v)])); v += 2; break; case 's': // pointer to CONSTANT_Utf8
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/javax/management/loading/MLet.java --- a/src/share/classes/javax/management/loading/MLet.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/javax/management/loading/MLet.java Sat Jun 14 13:33:30 2014 -0300 @@ -1307,9 +1307,9 @@ if (type.compareTo("java.lang.Boolean") == 0) return Boolean.valueOf(param); if (type.compareTo("java.lang.Byte") == 0)
return new Byte(param);
return Byte.valueOf(param); if (type.compareTo("java.lang.Short") == 0)
return new Short(param);
return Short.valueOf(param); if (type.compareTo("java.lang.Long") == 0) return new Long(param); if (type.compareTo("java.lang.Integer") == 0)
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/java/beans/Statement.java --- a/src/share/classes/java/beans/Statement.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/java/beans/Statement.java Sat Jun 14 13:33:29 2014 -0300 @@ -248,7 +248,7 @@ // ignored elsewhere. if (target == Character.class && arguments.length == 1 && argClasses[0] == String.class) {
return new Character(((String)arguments[0]).charAt(0));
return ((String)arguments[0]).charAt(0); } try { m = ConstructorFinder.findConstructor((Class)target, argClasses);
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/java/awt/Component.java --- a/src/share/classes/java/awt/Component.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/java/awt/Component.java Sat Jun 14 13:33:29 2014 -0300 @@ -8506,7 +8506,7 @@ if (changeSupport == null || oldValue == newValue) { return; }
firePropertyChange(propertyName, new Character(oldValue), new Character(newValue));
firePropertyChange(propertyName, oldValue, newValue);
}
/**
diff -r d02b062bc827 src/share/classes/java/awt/image/renderable/ParameterBlock.java --- a/src/share/classes/java/awt/image/renderable/ParameterBlock.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/java/awt/image/renderable/ParameterBlock.java Sat Jun 14 13:33:29 2014 -0300 @@ -337,7 +337,7 @@ * the specified parameter. */ public ParameterBlock add(byte b) {
return add(new Byte(b));
return add(b);
}
/**
@@ -348,7 +348,7 @@ * the specified parameter. */ public ParameterBlock add(char c) {
return add(new Character(c));
return add(c);
}
/**
@@ -359,7 +359,7 @@ * the specified parameter. */ public ParameterBlock add(short s) {
return add(new Short(s));
return add(s);
}
/**
@@ -441,7 +441,7 @@ * the specified parameter. */ public ParameterBlock set(byte b, int index) {
return set(new Byte(b), index);
return set(b, index);
}
/**
@@ -457,7 +457,7 @@ * the specified parameter. */ public ParameterBlock set(char c, int index) {
return set(new Character(c), index);
return set(c, index);
}
/**
@@ -473,7 +473,7 @@ * the specified parameter. */ public ParameterBlock set(short s, int index) {
return set(new Short(s), index);
return set(s, index);
}
/**
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Sat Jun 14 13:33:29 2014 -0300 @@ -1460,7 +1460,7 @@ if (logger.isLoggable(Level.INFO)) { logger.log(Level.INFO, "DIGEST39:Incorrect padding: {0}",
new Byte(msgWithPadding[msgWithPadding.length - 1]));
msgWithPadding[msgWithPadding.length - 1]); } return EMPTY_BYTE_ARRAY; }
diff -r d02b062bc827 src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java --- a/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java Sat Jun 14 13:33:29 2014 -0300 @@ -241,7 +241,7 @@ "KRB5CLNT05:Challenge [unwrapped]:", gssOutToken); } logger.log(Level.FINE, "KRB5CLNT06:Server protections: {0}",
new Byte(gssOutToken[0]));
gssOutToken[0]); } // Client selects preferred protection
@@ -293,7 +293,7 @@ if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, "KRB5CLNT08:Selected protection: {0}; privacy: {1}; integrity: {2}",
new Object[]{new Byte(selectedQop),
new Object[]{selectedQop, Boolean.valueOf(privacy), Boolean.valueOf(integrity)}); }
diff -r d02b062bc827 src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java --- a/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java Sat Jun 14 13:33:29 2014 -0300 @@ -221,7 +221,7 @@ if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, "KRB5SRV06:Supported protections: {0}; recv max buf size: {1}",
new Object[]{new Byte(allQop),
new Object[]{allQop, new Integer(recvMaxBufSize)}); }
@@ -288,7 +288,7 @@ if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, "KRB5SRV10:Selected protection: {0}; privacy: {1}; integrity: {2}",
new Object[]{new Byte(selectedQop),
new Object[]{selectedQop, Boolean.valueOf(privacy), Boolean.valueOf(integrity)}); logger.log(Level.FINE,
diff -r d02b062bc827 src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java --- a/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java Sat Jun 14 13:33:29 2014 -0300 @@ -77,7 +77,7 @@
if (logger.isLoggable(Level.FINE)) {
logger.logp(Level.FINE, myClassName, "constructor",
"SASLIMPL02:Preferred qop mask: {0}", new Byte(allQop));
"SASLIMPL02:Preferred qop mask: {0}", allQop); if (qop.length > 0) { StringBuffer qopbuf = new StringBuffer();
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java --- a/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java Sat Jun 14 13:33:29 2014 -0300 @@ -379,7 +379,7 @@ // used for substring comparisons (where proto has "" wildcards private boolean substringMatch(String proto, String value) { // simple case 1: "" means attribute presence is being tested
if(proto.equals(new Character(WILDCARD_TOKEN).toString())) {
if(proto.equals(Character.valueOf(WILDCARD_TOKEN).toString())) { if(debug) {System.out.println("simple presence assertion");} return true; }
-------------- next part -------------- diff -r d02b062bc827 src/share/classes/com/sun/jmx/snmp/SnmpString.java --- a/src/share/classes/com/sun/jmx/snmp/SnmpString.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/jmx/snmp/SnmpString.java Sat Jun 14 13:33:29 2014 -0300 @@ -140,7 +140,7 @@ public Byte[] toByte() { Byte[] result = new Byte[value.length] ; for (int i = 0 ; i < value.length ; i++) {
result[i] = new Byte(value[i]) ;
} -------------- next part -------------- diff -r d02b062bc827 src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java --- a/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Fri Jun 13 11:21:30 2014 -0700 +++ b/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Sat Jun 14 13:33:29 2014 -0300 @@ -1102,8 +1102,7 @@ "PasswordField.selectionBackground", SelectionBackgroundColor, "PasswordField.selectionForeground", SelectionTextColor, "PasswordField.caretForeground",WindowTextColor,result[i] = value[i]; } return result ;
"PasswordField.echoChar", new XPValue(new Character((char)0x25CF),
new Character('*')),
"PasswordField.echoChar", new XPValue((char)0x25CF, '*'), // *** ProgressBar "ProgressBar.font", ControlFont,
- Previous message: Long valueOf instead of new Long
- Next message: Character, Byte, Short valueOf instead of new instance
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]