为了账号安全,请及时绑定邮箱和手机立即绑定

java动态代理如何实现多种代理功能

java动态代理如何实现多种代理功能

流风1 2017-01-02 15:29:19
java的动态代理中如何实现同时具有多种功能,比如一个方法同时实现记录日志和记录时间
查看完整描述

4 回答

?
慕少8307396

TA贡献2条经验 获得超0个赞

1.假设两个不同第三方jar包的类a和b都实现了同一个接口,现在对a和b使用jdk代理增强会生成几个代理类的Class对象?为什么?

2.接上一个问题,如果使用jdk动态代理时a和b分别指定了不同的类加载器,会生成几个代理类的Class对象?为什么?

3.如果使用jdk动态代理时a和b都没有指定类加载器,会怎样?

4.卸载类加载器时其对应的代理类Class对象是否会被释放回收?

有大佬知道这些问题答案吗?


查看完整回答
反对 回复 2020-03-04
?
yanrun

TA贡献317条经验 获得超240个赞

 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;
     }

 }


查看完整回答
反对 回复 2017-01-13
?
慕桂英1888844

TA贡献1条经验 获得超0个赞

楼上就只会抄么

查看完整回答
反对 回复 2017-09-19
  • onemoo
    onemoo
    应该加一个举报垃圾回答的按钮,被举报的回答将会进行人工审核。
  • 4 回答
  • 5 关注
  • 1937 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号