/** * 引用处理 * * @作者 light-zhang * @时间 2018年11月9日 * @product mall-utils * @package cc.zeelan.common.retus * @file CatReference.java * */public abstract class CatReference { /** * 弱引用处理 * 当jvm触发gc的时候,回收掉软引用里面的对象,一般用来处理返回的一些临时Stringbuffer等其他的临时参数 * @param classOfType * @return */ protectedT weakOf(T classOfType) { ReferenceQueue queue = new ReferenceQueue (); WeakReference weakRef = new WeakReference (classOfType, queue); if (null == weakRef.get()) { weakRef = new WeakReference (classOfType); } return weakRef.get(); } /** * 软引用处理 * 当jvm内存不足的时候,回收掉软引用里面的对象信息,一般用作对象缓存 * @return */ protected T softOf(T referent) { SoftReference softRef = new SoftReference (referent); if (null == softRef.get()) { softRef = new SoftReference (referent); } return softRef.get(); }}