/**
* 获取指定接口的代理类实例,该代理类将方法调用分配给指定的调用处理程序
* 该方法相当于:
* Proxy.getProxyClass(loader, interfaces)
* .getConstructor(new Class[] { InvocationHandler.class })
* .newInstance(new Object[] { handler })
* .getConstructor(new Object[] { InvocationHandler.class });
*
* @param loader 指定当前真实对象使用的类加载器,获取加载器的方法是固定的
* @param interfaces 真实对象实现的接口类型,使用泛型的方式确认类型
* @param h 事件处理,执行真实对象的方法时,会触发事件处理器的方法,会将当前执行目标对象的方法作为参数传入
*/
public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h);