# HG changeset patch # User igerasim # Date 1532136539 25200 # Fri Jul 20 18:28:59 2018 -0700 # Node ID 6ba34b4a755211450a80118cc911adaa000889c9 # Parent 516acf6956a27a0562ecb477c444e5d386fdbd84 [mq]: 8207314-Unnecessary-reallocation-when-constructing-WeakHashMap-from-a-large-Map diff --git a/src/java.base/share/classes/java/util/WeakHashMap.java b/src/java.base/share/classes/java/util/WeakHashMap.java --- a/src/java.base/share/classes/java/util/WeakHashMap.java +++ b/src/java.base/share/classes/java/util/WeakHashMap.java @@ -252,7 +252,7 @@ * @since 1.3 */ public WeakHashMap(Map m) { - this(Math.max((int) (m.size() / DEFAULT_LOAD_FACTOR) + 1, + this(Math.max((int) ((float)m.size() / DEFAULT_LOAD_FACTOR + 1.0F), DEFAULT_INITIAL_CAPACITY), DEFAULT_LOAD_FACTOR); putAll(m);