从字节码角度理解动态代理
interface Subject{
void request();
}
class RealSubject implements Subject{
public void request(){
System.out.println("real subject");
}
}
class DynamicSubject implements InvocationHandler{
private Object subject;
public DynamicSubject(Object subject)
{
this.subject = subject;
}
@Override
public Object invoke(Object object, Method method, Object[] args)
throws Throwable
{
System.out.println("before rent house");
System.out.println("Method:" + method);
method.invoke(subject, args);
System.out.println("after rent house");
return null;
}
}
public class Client {
public static void