java语言的反射机制研究.pptVIP

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java语言的反射机制研究

将以上代码保存于某一目录下,先运行“start rmiregistry”来启动JDK自带的注册表程序,它用于保存Server类注册的远程对象并允许远程客户端的请求访问;然后运行服务器端的Server类,即“start java Server”,该程序向注册表中注册具体的远程对象;最后才是运行客户端程序来查找并获得服务器端的远程对象存根,此时才能使用存根对象与服务器进行通信,命令是“java Client”。 * 这一类研究的特点 类似还有如Kava[i],OpenJava[ii],OpenJ IT[iii]等都是在中间代码上进行转换操作, 装入虚拟机后不做任何改动。 [i] WELCH I, STROUD R. From Dalang to Kava the Evolution of a Reflective Java Extension [A ]. Proceedings of the Second International Conference on Meta2Level Architectures and Reflection [ C ]. France, Saint2Malo: Sp ringer, LNCS 1616, 1999 [ii] M ICH IAKI TATSUBOR I, SH IGERU CH IBA. OpenJava: A Class2BasedMacro System for Java [C ]. US, Denver: Sp ringer, LNCS 1826, 2000: 117—133. [iii] OGAWA H, SH IMURA K, MATSUOKA S, MARUYAMA Y, SOHDA F, KIMURA F. OpenJ IT: An Open2Ended Reflective J IT Comp iler Framework for Java [C ]. Japan, Tokyo: Sp ringer, LNCS 1850, 2000: 362—387. 这些研究的基础是基于java的中间码(字节码),因为java的字节码文件有严格的格式规定,所以很容易使用特定的内存数据结构映射,也很容易用程序去读取和修改。 1) 各类语言系统。例如函数式、过程式、面向对象式等语言程序, 以及实时、并发系统中, 研究反射的应用和相应的反射实现技术, 增加程序的灵活性。 2) 基于规则的系统。反射克服了规则冲突问题, 提高规则系统适应性。 3) 动态自适应软件系统。可利用反射技术实现自适应机制, 使系统的自适应体系能够依赖执行时的动态环境实现自适应行为, 提高自适应软件系统的灵活性。 4) 分布式计算机系统。将反射与计算机网络技术相结合, 利用反射构造灵活的协议, 利用元层控制不同的机器之间的通信, 使网络间的通信更加透明。 * 反射的应用 5) 反射和中间件的系统合成。反射机制使中间件系统不仅仅只作为系统功能的提供者, 而且能在系统运行时改变自身的属性, 作用于系统, 使中间件具有更强的可操作性。 6) 利用反射理论判定系统同构。 7) 利用反射完成软件的在线演化 综上所述,反射技术已经成为当前软件编程领域一种重要的技术和手段,在当前大兴其道的AOP编程、网格计算等方面都有关键的应用,下面根据第二部分我们关于指令和程序的定义,来给出关于反射的另一种理解 * 反射的应用 Java反射机制1-装入后 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法; 生成动态代理. Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public,static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods。 Java Reflection API演示 在java.lang.reflect包中: Class类:代表一个类装入后元对象类 Field类:代表一个一个已装入类成员变量 Method类:代表一个已装入类的成员方法 Constructor类:构造方法 Array类:提供了动态创建数组,以及访问数组元素的静态方法。 Proxy类:提供了动态创建代理类对象的能力 Class类 Class classType=Class.forName(“name”); Class

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档