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


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())) {

-------------- 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,

@@ -511,7 +511,7 @@ // check for illegal element tags Byte tag; for (int i=0; i < elems.length; i++) {

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);

-------------- 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));

@@ -1903,7 +1903,7 @@ throw new InternalError("late constant pool addition"); } short i = addEntry(e);

-------------- 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); }

@@ -1868,13 +1868,12 @@ v += 2; break; case 'S': // pointer to CONSTANT_Short

-------------- 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)

-------------- 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) {

-------------- 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; }

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) {

@@ -348,7 +348,7 @@ * the specified parameter. */ public ParameterBlock add(char c) {

@@ -359,7 +359,7 @@ * the specified parameter. */ public ParameterBlock add(short s) {

@@ -441,7 +441,7 @@ * the specified parameter. */ public ParameterBlock set(byte b, int index) {

@@ -457,7 +457,7 @@ * the specified parameter. */ public ParameterBlock set(char c, int index) {

@@ -473,7 +473,7 @@ * the specified parameter. */ public ParameterBlock set(short s, int 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}",

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}",

@@ -293,7 +293,7 @@ if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, "KRB5CLNT08:Selected protection: {0}; privacy: {1}; integrity: {2}",

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}",

@@ -288,7 +288,7 @@ if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, "KRB5SRV10:Selected protection: {0}; privacy: {1}; integrity: {2}",

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",

-------------- 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

-------------- 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++) {



More information about the core-libs-dev mailing list