java动态代理如何实现多种代理功能
java的动态代理中如何实现同时具有多种功能,比如一个方法同时实现记录日志和记录时间

流风1
浏览 1939回答 4
4回答
-
慕少8307396
1.假设两个不同第三方jar包的类a和b都实现了同一个接口,现在对a和b使用jdk代理增强会生成几个代理类的Class对象?为什么?2.接上一个问题,如果使用jdk动态代理时a和b分别指定了不同的类加载器,会生成几个代理类的Class对象?为什么?3.如果使用jdk动态代理时a和b都没有指定类加载器,会怎样?4.卸载类加载器时其对应的代理类Class对象是否会被释放回收?有大佬知道这些问题答案吗?
-
yanrun
public class DynamicProxy implements InvocationHandler {
private Object target;
public DynamicProxy(Object subject)
{
this.target = subject;
}
@Override
public Object invoke(Object object, Method method, Object[] args)
throws Throwable
{
System.out.println("start");
long startTime = System.currentTimeMillis();
Object result = method.invoke(target, args);
long endTime = System.currentTimeMillis();
System.out.println("end");
System.out.println("method process time:" + (endTime - startTime));
return result;
}
}
-
慕桂英1888844
楼上就只会抄么
打开App,查看更多内容