8288723: Avoid redundant ConcurrentHashMap.get call in java.time

Reviewed-by: attila, rriggs
This commit is contained in:
Andrey Turbanov 2022-07-21 10:22:58 +00:00
parent 3582fd9e93
commit 52cc6cd063
4 changed files with 14 additions and 28 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -330,8 +330,10 @@ public final class WeekFields implements Serializable {
WeekFields rules = CACHE.get(key);
if (rules == null) {
rules = new WeekFields(firstDayOfWeek, minimalDaysInFirstWeek);
CACHE.putIfAbsent(key, rules);
rules = CACHE.get(key);
WeekFields prev = CACHE.putIfAbsent(key, rules);
if (prev != null) {
rules = prev;
}
}
return rules;
}