RFR: 6988220: java.lang.ObjectName use of String.intern() causes major performance issues at scale
david.holmes at oracle.com
Thu Feb 23 13:53:05 PST 2012
java.lang.ObjectName? :) Need to fix that.
So often we intern strings precisely so that equals() can use == to
It seems to me that this is a case of "fixing" something for one
use-case without knowing what the impact will be on other use-cases!
Is there perhaps a solution that makes String.intern more scalable?
On 24/02/2012 1:36 AM, Frederic Parain wrote:
> This a simple fix to solve CR 6988220:
> The use of String.intern() in the ObjectName class prevents
> the class the scale well when more than 20K ObjectNames are
> managed. The fix simply removes the use of String.intern(),
> and uses regular String instead. The Object.equals() method
> is modified too to make a regular String comparison. The
> complexity of this method now depends on the length of
> the ObjectName's canonical name, and is not impacted any
> more by the number of ObjectName instances being handled.
> The Webrev:
> I've tested this fix with the jdk_lang and jdk_management
> test suites.
More information about the core-libs-dev