在写动态代理的时候发现会出现内存溢出
下面是内存溢出的时候的代码
@Component
public class ProxyJDK implements InvocationHandler {
private Object object;
public Object creatObject(Object object){
this.object = object;
return Proxy.newProxyInstance(object.getClass().getClassLoader(), object.getClass().getInterfaces(), this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("代理对象执行的操作");
Object result = null;
result = method.invoke(proxy, args);
return result;
}
}
后来发现result = method.invoke(proxy, args);里面的第一个参数 要填obejct,就是代理的对象@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("代理对象执行的操作");
Object result = null;
result = method.invoke(obejct, args);
return result;
}
}