PH251 / evolutionchamber

Automatically exported from code.google.com/p/evolutionchamber
0 stars 0 forks source link

Method invokes inefficient Number constructor; use static valueOf instead #214

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Pattern: Method invokes inefficient Number constructor; use static valueOf 
instead
id: DM_NUMBER_CTOR, type: Bx, category: PERFORMANCE

Using new Integer(int) is guaranteed to always result in a new object whereas 
Integer.valueOf(int) allows caching of values to be done by the compiler, class 
library, or JVM. Using of cached values avoids object allocation and the code 
will be faster. 

Values between -128 and 127 are guaranteed to have corresponding cached 
instances and using valueOf is approximately 3.5 times faster than using 
constructor. For values outside the constant range the performance of both 
styles is the same. 

Unless the class must be compatible with JVMs predating Java 1.5, use either 
autoboxing or the valueOf() method when creating instances of Long, Integer, 
Short, Character, and Byte. 

Bug: Method com.fray.evo.Optimization.inte(int) invokes inefficient new 
Integer(int) constructor; use Integer.valueOf(int) instead
Pattern id: DM_NUMBER_CTOR, type: Bx, category: PERFORMANCE

Using new Integer(int) is guaranteed to always result in a new object whereas 
Integer.valueOf(int) allows caching of values to be done by the compiler, class 
library, or JVM. Using of cached values avoids object allocation and the code 
will be faster. 

Values between -128 and 127 are guaranteed to have corresponding cached 
instances and using valueOf is approximately 3.5 times faster than using 
constructor. For values outside the constant range the performance of both 
styles is the same. 

Unless the class must be compatible with JVMs predating Java 1.5, use either 
autoboxing or the valueOf() method when creating instances of Long, Integer, 
Short, Character, and Byte. 

Bug: Method com.fray.evo.ui.swingx.UserSettingsTest.testExistingFile() invokes 
inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
Pattern id: DM_NUMBER_CTOR, type: Bx, category: PERFORMANCE

Using new Integer(int) is guaranteed to always result in a new object whereas 
Integer.valueOf(int) allows caching of values to be done by the compiler, class 
library, or JVM. Using of cached values avoids object allocation and the code 
will be faster. 

Values between -128 and 127 are guaranteed to have corresponding cached 
instances and using valueOf is approximately 3.5 times faster than using 
constructor. For values outside the constant range the performance of both 
styles is the same. 

Unless the class must be compatible with JVMs predating Java 1.5, use either 
autoboxing or the valueOf() method when creating instances of Long, Integer, 
Short, Character, and Byte. 

Original issue reported on code.google.com by netpr...@gmail.com on 20 Jul 2011 at 7:57

GoogleCodeExporter commented 8 years ago
This issue was closed by revision r294.

Original comment by netpr...@gmail.com on 20 Jul 2011 at 7:59