<i18n dev> RFR: 8358426: Improve lazy computation in Locale [v2]

Naoto Sato naoto at openjdk.org
Fri Jun 6 15:29:53 UTC 2025


On Thu, 5 Jun 2025 20:29:48 GMT, Justin Lu <jlu at openjdk.org> wrote:

>> Please review this PR which improves occurrences of lazy computation in `Locale` and `BaseLocale`.
>> 
>> Existing lazy initialization strategies such as CHM, static nested class, and local inner class are replaced with Stable Values.
>> 
>> Lambda usage is intentionally avoided in this change during `Locale` creation and in static fields due to potential startup performance degradation as noted by [JDK-8331932](https://bugs.openjdk.org/browse/JDK-8331932).
>> 
>> Rather than convert `iso3166CodesMap` to a Stable Map, each ISO 3166 resource is represented as a SV. Also, I did not think it was necessary to maintain a SV for _both_ the array and set of ISO3166-1 alpha-2 codes.
>
> Justin Lu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   review - Moving all ISO resources to LocaleISOData & blessed modifier order for languageTag

LGTM

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

Marked as reviewed by naoto (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/25646#pullrequestreview-2905273821


More information about the i18n-dev mailing list