code: protected Map<Integer, Class<? extends T>> findScriptCodeMap(Set<Class<? extends T>> scriptClazzs)
  			throws InstantiationException, IllegalAccessException {
  		Map<Integer, Class<? extends T>> codeMap = new ConcurrentHashMap<Integer, Class<? extends T>>();
  		for (Class<? extends T> scriptClazz : scriptClazzs) {
  			boolean isAbstractOrInterface = Modifier.isAbstract(scriptClazz.getModifiers())
  					|| Modifier.isInterface(scriptClazz.getModifiers());// 是否是抽象类
  			if (!isAbstractOrInterface) {// 可实例化脚本
  				IScript script = scriptClazz.newInstance();
  				int code = script.getMessageCode();
  				if (codeMap.containsKey(script.getMessageCode())) {// 重复脚本code定义
  					_log.error("find Repeat CodeScriptClass,code="+code+",addingScript:" + script.getClass() + ",existScript:"
  							+ codeMap.get(code));
  				} else {
  					codeMap.put(code, scriptClazz);
  					_log.info("loaded CodeScriptClass:code="+code+",class=" + scriptClazz);
  				}
  			}
  		}
  		return codeMap;
  	}
docs: 查找可实例化的脚本
  
  @param scriptClazzs
  @return
  @throws InstantiationException
  @throws IllegalAccessException