lucene的源碼有一處讀不懂,
private static final WeakHashMap<Class<? extends Attribute>, WeakReference<Class<? extends AttributeImpl>>> attClassImplMap =
new WeakHashMap<Class<? extends Attribute>, WeakReference<Class<? extends AttributeImpl>>>();
這里weakrefenece的構(gòu)造函數(shù)是class的實(shí)例是一個(gè)對(duì)象才對(duì),但是實(shí)際上還是一個(gè)Class
final WeakReference<Class<? extends AttributeImpl>> ref = attClassImplMap.get(attClass);
Class<? extends AttributeImpl> clazz = (ref == null) ? null : ref.get();
為什么weakrefence引用的不是Class<? extends AttributeImpl>的實(shí)例呢?
為什么weakreference引用的構(gòu)造函數(shù)參數(shù)是class
www說(shuō)
2019-02-17 08:38:38