专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Web前端

webx—动态创办class文件

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
<script language="javascript">c_a_3();</script>
webx—动态创建class文件

在开发过程中,经常会遇到第三方jar包的类提供的服务不能满足我们的需要。这时我们通常的做法是定义一个子类,复写父类方法,用子类实例化对象,其引用类型不变。 这种方式的特点是:

1. 修改源文件,新定义java文件

2. 编译.java文件为.class文件

3. 由classLoader加载字节码文件到内存中,由解析器来执行


现存在这么一种场景,如taobao开放平台,界面上有很多的选项框,我们只要选择相应的接口、方法,输入分配给我们的帐号,然后在文本框中编写一段java调用代码,就可以在页面上看到返回结果。

 

此时需要在运行的情况下,动态编译字符串代码,在内存中生成新的class文件,后续步骤同上

目前有很多成熟的开源项目支持分析、编辑和创建Java字节码,如cglib、asm、javassist

本文以javassist为例子,通过一个简单例子来描述上面是如何实现。

Person.java

AssistFactory.java

结果:


代码下载地址:https://javassist.googlecode.com/svn/trunk/



友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: