zoukankan      html  css  js  c++  java
  • Javassist学习总结

    今天在弄dubbo时出现了一个依赖缺少问题,就好奇研究一下,这个依赖是啥.

    javassist是一个字节码类库,可以用他来动态生成类,动态修改类等等

    1.介绍Javassist

      要想将编译时不存在的类在运行时动态创建并加载,通常有两种策略:

      1.      动态编译

      2.      动态生成二进制字节码(.class)

      对于第二种策略,实际上已经有诸多比较成熟的开源项目提供支持,如CGLib、ASM、Javassist等。这些开源项目通常都具备两方面的功能:

      1.      动态创建新类或新接口的二进制字节码

      2.      动态扩展现有类或接口的二进制字节码

      其中,CGLib的底层基于ASM实现,是一个高效高性能的生成库;而ASM是一个轻量级的类库,但需要涉及到JVM的操作和指令;相比而言,Javassist要简单的多,完全是基于Java的API,但其性能相比前二者要差一些。

      尽管如此,在性能要求相对低的场合,Javassist仍然十分有用,如JBoss中就调用了Javassist。

    2.使用

      参考的一个链接:

      http://yonglin4605.iteye.com/blog/1396494

      http://zhxing.iteye.com/blog/1703305

      http://jboss-javassist.github.io/javassist/

  • 相关阅读:
    mac下xcode中include path
    如何联机调试和发布程序
    Facebook 错误码
    app store给应用评分功能
    FTP传输模式
    重新安装 Visual Studio 6.0 的问题
    ASP项目:提示用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败
    投资项目的4P
    .net 的资源与本地化
    千万不能干的事(文摘)
  • 原文地址:https://www.cnblogs.com/juncaoit/p/7909688.html
Copyright © 2011-2022 走看看