8287285: Avoid redundant HashMap.containsKey call in java.util.zip.ZipFile.Source.get

Reviewed-by: jpai, alanb
This commit is contained in:
Andrey Turbanov 2022-05-26 20:32:56 +00:00
parent 7cb368b34d
commit 295be6f10f

View file

@ -1292,13 +1292,12 @@ public class ZipFile implements ZipConstants, Closeable {
src = new Source(key, toDelete, zc); src = new Source(key, toDelete, zc);
synchronized (files) { synchronized (files) {
if (files.containsKey(key)) { // someone else put in first Source prev = files.putIfAbsent(key, src);
src.close(); // close the newly created one if (prev != null) { // someone else put in first
src = files.get(key); src.close(); // close the newly created one
src.refs++; prev.refs++;
return src; return prev;
} }
files.put(key, src);
return src; return src;
} }
} }