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,查看更多内容
随时随地看视频慕课网APP

相关分类

Java