`

Javassist 学习总结/1.动态创建新类或新接口的二进制字节码 2. 动态扩展现有类或接口的二进制字节码(使用javassist动态注入代码)

    博客分类:
  • java
 
阅读更多
要想将编译时不存在的类在运行时动态创建并加载,通常有两种策略:
1.      动态编译
2.      动态生成二进制字节码(.class)
对于第二种策略,实际上已经有诸多比较成熟的开源项目提供支持,如CGLib、ASM、Javassist等。这些开源项目通常都具备两方面的功能:
1.      动态创建新类或新接口的二进制字节码
2.      动态扩展现有类或接口的二进制字节码
其中,CGLib的底层基于ASM实现,是一个高效高性能的生成库;而ASM是一个轻量级的类库,但需要涉及到JVM的操作和指令;相比而言,Javassist要简单的多,完全是基于Java的API,但其性能相比前二者要差一些。
尽管如此,在性能要求相对低的场合,Javassist仍然十分有用,如JBoss中就调用了Javassist。


摘自:http://blog.csdn.net/sadfishsc/article/details/9999169
      http://www.iteye.com/topic/53740
分享到:
评论

相关推荐

    javassist-3.23.1-GA.jar中文-英文对照文档.zip

    (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以...

    javassist-3.11.0.GA.jar

    stuts2项目启动tomcat报错:Error configuring application listener of class org.apache.struts2.dispatcher.ng.listener.StrutsListener,缺少的是这个javassist-3.11.0.GA.jar

    javassist-3.7.ga.jar

    javassist-3.7.ga.jar

    javassist-3.23.1-GA-API文档-中英对照版.zip

    赠送jar包:javassist-3.23.1-GA.jar; 赠送原API文档:javassist-3.23.1-GA-javadoc.jar; 赠送源代码:javassist-3.23.1-GA-sources.jar; 赠送Maven依赖信息文件:javassist-3.23.1-GA.pom; 包含翻译后的API文档...

    javassist-3.9.0.GA.jar.zip

    javassist-3.9.0.GA.jar.zip

    javassist-3.12.1.GA.jar

    开源的分析、编辑和创建Java字节码的类库,加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态AOP框架。

    javassist-3.18.2-GA.jar

    javassist-3.18.2-GA.jar

    javassist-3.18.0-GA.jar

    javassist-3.18.0-GA.jar

    javassist-3.12.0.GA.jar

    javassist-3.12.0.GA.jar javassist-3.12.0.GA.jar javassist-3.12.0.GA.jar

    javassist-3.19.0-GA-API文档-中文版.zip

    赠送jar包:javassist-3.19.0-GA.jar; 赠送原API文档:javassist-3.19.0-GA-javadoc.jar; 赠送源代码:javassist-3.19.0-GA-sources.jar; 赠送Maven依赖信息文件:javassist-3.19.0-GA.pom; 包含翻译后的API文档...

    javassist-3.27.0-GA-API文档-中英对照版.zip

    赠送jar包:javassist-3.27.0-GA.jar; 赠送原API文档:javassist-3.27.0-GA-javadoc.jar; 赠送源代码:javassist-3.27.0-GA-sources.jar; 赠送Maven依赖信息文件:javassist-3.27.0-GA.pom; 包含翻译后的API文档...

    javassist-3.23.1-GA.jar

    javassist-3.23.1.jar包 2018年10月2日 在官网下载的最新版

    javassist-3.23.1-GA-API文档-中文版.zip

    赠送jar包:javassist-3.23.1-GA.jar; 赠送原API文档:javassist-3.23.1-GA-javadoc.jar; 赠送源代码:javassist-3.23.1-GA-sources.jar; 赠送Maven依赖信息文件:javassist-3.23.1-GA.pom; 包含翻译后的API文档...

    javassist-3.18.1-GA.jar

    hibernate依赖的包javassist-3.18.1-GA.jar命名存在,这些jar包,其中的javassist.ClassPath存在,

    javassist-3.7.ga.jar下载

    javassist-3.7jia包的下载

    javassist-3.18.0-ga.jar

    Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作...

    javassist-3.17.1-GA.jar源文件

    javassist.jar包 欢迎下载

    javassist-3.18.1-GA.jar.zip

    能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...

Global site tag (gtag.js) - Google Analytics