From fa28f03bf6aaea70f72722a3f90f2556d3aeab1f Mon Sep 17 00:00:00 2001 From: Markus Scherer Date: Fri, 13 May 2016 21:23:20 +0000 Subject: [PATCH] ICU-7434 switch BreakIterator.iterCache from SoftReference to CacheValue X-SVN-Rev: 38737 --- .../classes/core/src/com/ibm/icu/text/BreakIterator.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java b/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java index 38aa86003c9..0c986a8c308 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java @@ -7,13 +7,13 @@ package com.ibm.icu.text; -import java.lang.ref.SoftReference; import java.text.CharacterIterator; import java.text.StringCharacterIterator; import java.util.Locale; import java.util.MissingResourceException; import com.ibm.icu.impl.ICUDebug; +import com.ibm.icu.impl.CacheValue; import com.ibm.icu.util.ICUCloneNotSupportedException; import com.ibm.icu.util.ULocale; @@ -556,7 +556,7 @@ public abstract class BreakIterator implements Cloneable */ private static final int KIND_COUNT = 5; - private static final SoftReference[] iterCache = new SoftReference[5]; + private static final CacheValue[] iterCache = new CacheValue[5]; /** * Returns a new instance of BreakIterator that locates word boundaries. @@ -867,7 +867,7 @@ s */ BreakIterator result = getShim().createBreakIterator(where, kind); BreakIteratorCache cache = new BreakIteratorCache(where, result); - iterCache[kind] = new SoftReference(cache); + iterCache[kind] = CacheValue.getInstance(cache); if (result instanceof RuleBasedBreakIterator) { RuleBasedBreakIterator rbbi = (RuleBasedBreakIterator)result; rbbi.setBreakType(kind); -- 2.40.0