src/share/classes/java/util/TimeZone.java

Print this page
rev 6352 : imported patch 7162007

*** 428,465 **** private DisplayNames() { } } private static String[] getDisplayNames(String id, Locale locale) { ! Map<String, SoftReference<Map<Locale, String[]>>> displayNames = DisplayNames.CACHE; ! ! SoftReference<Map<Locale, String[]>> ref = displayNames.get(id); ! if (ref != null) { ! Map<Locale, String[]> perLocale = ref.get(); ! if (perLocale != null) { ! String[] names = perLocale.get(locale); ! if (names != null) { ! return names; } - names = TimeZoneNameUtility.retrieveDisplayNames(id, locale); - if (names != null) { - perLocale.put(locale, names); - } - return names; - } - } - String[] names = TimeZoneNameUtility.retrieveDisplayNames(id, locale); - if (names != null) { - Map<Locale, String[]> perLocale = new ConcurrentHashMap<>(); - perLocale.put(locale, names); - ref = new SoftReference<>(perLocale); - displayNames.put(id, ref); - } - return names; - } - /** * Returns the amount of time to be added to local standard time * to get local wall clock time. * * <p>The default implementation returns 3600000 milliseconds --- 428,440 ---- private DisplayNames() { } } private static String[] getDisplayNames(String id, Locale locale) { ! return TimeZoneNameUtility.retrieveDisplayNames(id, locale); } /** * Returns the amount of time to be added to local standard time * to get local wall clock time. * * <p>The default implementation returns 3600000 milliseconds