- cached hash code of Locale and Locale$LanguageRange shouldn't be volatile, even in case of concurrent access in the worst case it is recalculated at most once per thread
- defaultLocale field is read multiple times in initDefault()
- isoLanguages is accessed multiple times in getISOLanguages()
- languageTag is read twice in toLanguageTag()
- defaultLocale field is read multiple times in initDefault()
- isoLanguages is accessed multiple times in getISOLanguages()
- languageTag is read twice in toLanguageTag()