[ 
https://issues.apache.org/jira/browse/PDFBOX-403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Carrier resolved PDFBOX-403.
----------------------------------

    Resolution: Later

The proposed solution uses a method introduced in Java 1.5.  The current code 
base is 1.4-compliant, so it can't be used. Marking as "Later" in case PDFBox 
relaxes the 1.4 requirement.

> Findbugs reported a minor performance issue. Integer.valueOf(string);
> ---------------------------------------------------------------------
>
>                 Key: PDFBOX-403
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-403
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: PDModel
>    Affects Versions: 0.8.0-incubator
>         Environment: all
>            Reporter: peter_lena...@ibi.com
>            Priority: Trivial
>
> Below are the comments from Findbugs, PMD also reported the same problem, but 
> findbugs gives a better description of the issue.
> -------------------------------------------------------------------
> [M P Bx] Method invokes inefficient Number constructor; use static valueOf 
> instead [DM_NUMBER_CTOR]
> 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.
>     public Integer getRotation()
>     {
>         Integer retval = null;
>         COSNumber value = (COSNumber)page.getDictionaryObject(
> COSName.ROTATE );
>         if( value != null )
>         {
> //Change this:
>             retval = new Integer( value.intValue() ); // to this, so the 
> first 127 rotation numbers will be cached Integer
> values:
>             retval = Integer.valueOf(value.intValue());
>         }
>         return retval;
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to