Knut Anders Hatlen created DERBY-5873:
-----------------------------------------

             Summary: Avoid unnecessary allocation of Number instances in 
client/server
                 Key: DERBY-5873
                 URL: https://issues.apache.org/jira/browse/DERBY-5873
             Project: Derby
          Issue Type: Improvement
          Components: Network Client, Network Server
    Affects Versions: 10.10.0.0
            Reporter: Knut Anders Hatlen
            Assignee: Knut Anders Hatlen


Java 5 introduced some new static factory methods (called valueOf()) in the 
Number sub-classes, to be used in preference of the constructors unless a fresh 
instance is required. The valueOf() methods are allowed to cache and reuse 
objects, possibly reducing the allocation/gc cost and the memory footprint. For 
example, Integer.valueOf(int) uses a pre-allocated cache for values between 
-128 and +127 by default (the cache size can be tuned with JVM flags).

Now that the server and client code is compiled against Java 5 libraries, we 
should use the valueOf() methods  to get those benefits. Note also that Java 5 
auto-boxing of numbers uses these methods implicitly, so in many cases we can 
just remove the calls to the constructor and the compiler will automatically 
insert the calls for us.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to