<i18n dev> RFR: 8288723: Avoid redundant ConcurrentHashMap.get call in java.time [v2]

Jaikiran Pai jpai at openjdk.org
Fri Jun 24 07:25:38 UTC 2022


On Wed, 22 Jun 2022 21:29:50 GMT, Andrey Turbanov <aturbanov at openjdk.org> wrote:

>> Instead of separate ConcurrentHashMap.get call, we can use result of previous putIfAbsent call.
>
> Andrey Turbanov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8288723: Avoid redundant ConcurrentHashMap.get call in java.time
>   use computeIfAbsent where lambda could be short and static

src/java.base/share/classes/java/time/temporal/WeekFields.java line 331:

> 329:         String key = firstDayOfWeek.toString() + minimalDaysInFirstWeek;
> 330:         WeekFields rules = CACHE.get(key);
> 331:         if (rules == null) {

Perhaps you don't even need this `if` block and the preceding `CACHE.get(key)` and maybe it can be replaced with:


return CACHE.computeIfAbsent(key, ignore -> new WeekFields(firstDayOfWeek, minimalDaysInFirstWeek));

-------------

PR: https://git.openjdk.org/jdk/pull/9208


More information about the i18n-dev mailing list