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);
synchronized (files) {
if (files.containsKey(key)) { // someone else put in first
src.close(); // close the newly created one
src = files.get(key);
src.refs++;
return src;
Source prev = files.putIfAbsent(key, src);
if (prev != null) { // someone else put in first
src.close(); // close the newly created one
prev.refs++;
return prev;
}
files.put(key, src);
return src;
}
}