动态代理

动态代理

JDK

​ 两个角色:Proxy、InvocationHandler

1
2
3
4
5
6
7
8
9
10
11
/*
* @param interfaces 注定jdk动态代理只能代理那些有接口的类
*/
Proxy.newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,InvocationHandler h);
/*
* @param proxy 由字节码生成的代理对象
* 命名方式:xxx.xx.$ProxyN N:代表产生的第N个proxy实例
*/
Object invoke(Object proxy,Method method,Object[] args);

CGLIB (Code Generation Library)

1
2