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对象是否会被释放回收?
有大佬知道这些问题答案吗?

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; } }
添加回答
举报
0/150
提交
取消