java字节码技术

何为字节码技术?

可以使用字节码技术对类的基本信息做操做,新增属性或者方法,修改属性或者方法,删除属性或者方法。

比如AOP技术,Lombok去除重复代码插件,动态修改class文件等。

我们来说说常见的字节码操做类库

BCEL

Byte Code Engineering Library(BCEL),这是Apache Software Foundation的Jakarta项目的一部分。BCEL是Java classworking 广泛使用的一种框架,它可以让您深入jvm汇编语言进行类库操作的细节。BCEL与javassist有不同的处理字节码方法,BCEL在实际的jvm指令层次上进行操作(BCEL拥有丰富的jvm指令集支持) 而javassist所强调的是源代码级别的工作。

ASM

是一个轻量级Java字节码操作框架,直接涉及到JVM底层的操作和指令

高性能,高质量

CGLB

 生成类库,基于ASM实现

javassist

是一个开源的分析,编辑和创建Java字节码的类库。性能较ASM差,跟cglib差不多,但是使用简单。很多开源框架都在使用它。

 

 

 

 

 

 

发布了26 篇原创文章 · 获赞 6 · 访问量 698

猜你喜欢

转载自blog.csdn.net/sdgames/article/details/104258458