码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈静态代理和动态代理

时间:2017-07-20 01:06:04      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:执行   tproxy   handle   int   tor   接口   bsp   lib   类加载   

所谓代理,就是我写一个代理类,去代理被代理对象的执行业务

静态代理就是为每一个需要被代理的类写一个代理类,动态代理就是运行时动态生成代理类,主要有JDK提供的和CGlib提供的

JDK:动态代理类要实现InvocationHandler接口,实现invoke(在代理行为前后增加一些方法)方法,生成时,用类Proxy的newProxyInstance(被代理类的类加载器,被代理类实现的所有接口,被代理对象)方法生成代理类。好处是当接口变了,代理类不用动

  唯一的缺点就是不能代理一个没有接口的类

CGlib:实现MethodInterceptor接口,实现interceptor方法,生成代理类对象不需要接口信息,CGlib提供方法级别的代理、用 cglib.getProxy(被代理对象的类)方法生成代理对象

 

浅谈静态代理和动态代理

标签:执行   tproxy   handle   int   tor   接口   bsp   lib   类加载   

原文地址:http://www.cnblogs.com/team42/p/7208899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!