JDK-8210280 - Unnecessary reallocation when invoking HashMap.putAll()

Michal Vala mvala at redhat.com
Fri Dec 14 06:41:03 UTC 2018


Thanks, looking into that.

On 12/12/18 9:29 PM, Martin Buchholz wrote:
> When hacking on HashMap, one always needs to keep LinkedHashMap in the back
> of one's mind.
> 
> If you use removeEldestEntry then the occupancy can never get beyond some
> limit.  It may be weird to have elements that are part of a putAll being
> removed during the call to putAll.  There's already a call to resize
> causing the backing array to grow in this (very corner) case, so it's
> arguably not introducing new weird behavior.  If removeEldestEntry is
> overridden then ideally you would only grow by doubling, but it's such a
> corner case this may not be worth doing.
> 

-- 
Michal Vala
OpenJDK QE
Red Hat Czech


More information about the core-libs-dev mailing list