JiveJdon Community Forums
在线348人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 1 回复 / 1
 发表新帖子   回复该主题贴
holykeeper

悄悄话
发表文章: 25
注册时间: 2004年06月23日 17:23
高手能否能给初学者讲讲动态代理? 2004年07月03日 20:21 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 aop(27)      proxy模式(9)     
在论坛看到一些高级话题时往往会提及“动态代理”。本人对“动态代理”的概念理解不够深入,相信不少道友也有同感,能否能给出一些例子?
谢谢!
buaawhl

悄悄话
发表文章: 18
注册时间: 2004年07月06日 10:53
Re: 高手能否能给初学者讲讲动态代理? 2004年07月09日 18:14 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
动态代理的基本机制:在运行期间,(Byte Code Instrument)动态生成Byte Code,动态生成Java类。

我所知道的Class Byte Code操作工具实现有2种:

BCEL 按照DOM结构方式操作Byte Code。
http://jakarta.apache.org/bcel/index.html

ASM 按照SAX方式(Visitor模式)操作Byte Code。
http://asm.objectweb.org/

有了Byte Code操作工具,就可以在运行期间动态生成代理类了。
cglib就是这样一个动态代理类的生成工具。
http://cglib.sourceforge.net/

cglib能够生成多种丰富的动态代理类。

JDK1.4引入了动态代理类的简单实现(只提供一种代理类)。
包括java.lang.reflect包的Proxy类和InvocationHandler类这两个标准的API。操作Byte Code的具体类是sun.misc.ProxyGenerator类。

Sun JDK 源代码下载:
http://wwws.sun.com/software/communitysource/
先注册并登录到“Sun Community Source Licensing”,然后下载J2SE(几十兆)或者J2EE(几百兆)。

动态代理是实现AOP的一种流行的方法。
关于JDK1.4 Proxy的具体用法。这里不再赘述。下面有些中文文章。

Banq的文章。
http://www.jdon.com/AOPdesign/spring.htm

还有:
http://www-900.ibm.com/developerWorks/cn/java/l-connpoolproxy/index.shtml

这个主题有 1 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  发贴前查询 标签列表勿重复发表问题

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam