diff --git a/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java b/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java index 996ef705269..86aa580b619 100644 --- a/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java +++ b/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java @@ -32,9 +32,10 @@ import java.util.Locale; * This is the super class of all the locale sensitive service provider * interfaces (SPIs). *

- * Locale sensitive service provider interfaces are interfaces that + * Locale sensitive service provider interfaces are interfaces that * correspond to locale sensitive classes in the {@code java.text} - * and {@code java.util} packages. The interfaces enable the + * and {@code java.util} packages in order to provide the locale + * data used for each service. The interfaces enable the * construction of locale sensitive objects and the retrieval of * localized names for these packages. Locale sensitive factory methods * and methods for name retrieval in the {@code java.text} and @@ -121,13 +122,13 @@ import java.util.Locale; * {@link System#setProperty(String, String)} is discouraged and it may not affect * the order. * JDK Reference Implementation provides the following three - * locale providers: + * locale data providers: *

@@ -139,11 +140,58 @@ import java.util.Locale; * the locale sensitive services in the SPI providers are looked up first. If the * desired locale sensitive service is not available, then the runtime looks for CLDR. *

- * The default value for looking up the preferred locale providers is "CLDR", - * so specifying "CLDR" is identical to the default behavior. Applications which + * The default value for looking up the preferred locale data providers is "CLDR", + * so specifying only "CLDR" is identical to the default behavior. Applications which * require implementations of the locale sensitive services must explicitly specify * "SPI" in order for the Java runtime to load them from the classpath. * + * @implNote The JDK uses locale data from the Unicode Consortium's + * Common Locale Data Repository (CLDR) + * to implement locale-sensitive APIs in the {@code java.util} and + * {@code java.text} packages. This locale data derives the set of locales + * supported by the Java runtime environment. The following table lists the + * version of CLDR used in each JDK release. Unless otherwise specified, all + * update releases in a given JDK release family use the same CLDR version. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
JDK releases and supported CLDR versions
JDK releaseCLDR version
JDK 22CLDR 44
JDK 21CLDR 43
JDK 20CLDR 42
JDK 19CLDR 41
JDK 18CLDR 39
JDK 17CLDR 39
JDK 16CLDR 38
JDK 15CLDR 37
JDK 14CLDR 36
JDK 13CLDR 35.1
JDK 12CLDR 33
JDK 11CLDR 33
JDK 10CLDR 29
JDK 9CLDR 29
JDK 8CLDR 21.0.1
+ * * @since 1.6 */ public abstract class LocaleServiceProvider {