Locale
Locale源码
public final class Locale implements Cloneable, Serializable {
static private final Cache LOCALECACHE = new Cache();
// 内部类Cache
private static class Cache extends LocaleObjectCache<LocaleKey, Locale> {
private Cache() {
}
@Override
protected Locale createObject(LocaleKey key) {
return new Locale(key.base, key.exts);
}
}
}
所以我们想在代码中添加缓存时,可以参考这个方式(局部变量+内部类)!!!
下面了解下LocaleObjectCache类
LocaleObjectCache源码
public abstract class LocaleObjectCache<K, V> {
// 用ConcurrentMap进行存储
private ConcurrentMap<K, CacheEntry<K, V>> map;
// 引用队列
private ReferenceQueue<V> queue;
}
引用队列(ReferenceQueue)有时间看看