code: @SuppressWarnings("unchecked")
  	public static <T> T get(Class<T> clazz, Object... params) {
  		T obj = (T) pool.get(clazz);
  
  		if (null == obj) {
  			synchronized (Singleton.class) {
  				obj = (T) pool.get(clazz);
  				if (null == obj) {
  					obj = ReflectUtil.newInstance(clazz, params);
  					pool.put(clazz, obj);
  				}
  			}
  		}
  
  		return obj;
  	}
docs: 获得指定类的单例对象<br>
  对象存在于池中返回，否则创建，每次调用此方法获得的对象为同一个对象<br>
  注意：单例针对的是类和对象，因此get方法第一次调用时创建的对象始终唯一，也就是说就算参数变更，返回的依旧是第一次创建的对象
  
  @param <T> 单例对象类型
  @param clazz 类
  @param params 构造方法参数
  @return 单例对象