BeanCopier系列之三:缓存BeanCopier提升性能_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > BeanCopier系列之三:缓存BeanCopier提升性能

BeanCopier系列之三:缓存BeanCopier提升性能

 2014/4/12 21:16:31  czj4451  程序员俱乐部  我要评论(0)
  • 摘要:BeanCopier拷贝速度快,性能瓶颈出现在创建BeanCopier实例的过程中。所以,把创建过的BeanCopier实例放到缓存中,下次可以直接获取,提升性能:publicclassCachedBeanCopier{staticfinalMap<String,BeanCopier>BEAN_COPIERS=newHashMap<String,BeanCopier>();publicstaticvoidcopy(ObjectsrcObj,ObjectdestObj)
  • 标签:缓存
BeanCopier拷贝速度快,性能瓶颈出现在创建BeanCopier实例的过程中。

所以,把创建过的BeanCopier实例放到缓存中,下次可以直接获取,提升性能:

class="java" name="code">
public class CachedBeanCopier {

	static final Map<String, BeanCopier> BEAN_COPIERS = new HashMap<String, BeanCopier>();

	public static void copy(Object srcObj, Object destObj) {
		String key = genKey(srcObj.getClass(), destObj.getClass());
		BeanCopier copier = null;
		if (!BEAN_COPIERS.containsKey(key)) {
			copier = BeanCopier.create(srcObj.getClass(), destObj.getClass(), false);
			BEAN_COPIERS.put(key, copier);
		} else {
			copier = BEAN_COPIERS.get(key);
		}
		copier.copy(srcObj, destObj, null);
	}

	private static String genKey(Class<?> srcClazz, Class<?> destClazz) {
		return srcClazz.getName() + destClazz.getName();
	}
}
上一篇: 关于服装你必须知道的六件事 下一篇: 没有下一篇了!
发表评论
用户名: 匿名