17. 动态代理与类加载器核心知识点汇总
动态代理
newProxyInstance方法
/**
* 动态代理类
*
* @author tengchao
* @create 2017-12-17-11:50.
*/
public class MyProxy {
//定义一个获取代理类对象的方法
//JDK7之前包括JDK7,若要往内部类中传变量的话,这个变量必须要用final修饰
public static Object getProxy(final Object t) {
//返回生成后的代理类对象
return Proxy.newProxyInstance(t.getClass().getClassLoader(), t.getClass().getInterfaces(), new InvocationHandler() {
//proxy:代表生成的代理类对象,method:代表通过代理类对象调用的对应的方法对象,args:代表往该方法中传入的参数
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
//增强的方法逻辑
System.out.println("我是增强的方法逻辑~~~");
//被增强的执行方法
return method.invoke(t,args);
}
});
}
}类加载器
Last updated