java字节码操控技术_Allione_新浪博客

一、字节码操控的基础
1、java动态性的两种常见实现方式
     1)字节码操作
     2)反射
2、运行时操作字节码可以实现:
     1)动态生成新的类
     2)动态改变某个类的结构(添加删除修改 新的属性和方法)
     字节码操作比反射开销小,性能高
3、常见的操作字节码的技术
     1)BCEL:Byte code engineering library ,在实际的JVM指令层次上进行操作,拥有丰富的JVM指令级支持。
     2)ASM:轻量级的java字节码操控框架,直接涉及到JVM底层的指令和操作。可以在类被加载到虚拟机前动态改变类的行为,Java class 被存储在 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。
    3)CGLIB:code generate library,高性能code生成类库,基于ASM
    4)javassist:分析、编辑创建字节码的类库,比ASM性能差,与CGLIB差不多,使用简单。
java字节码操控技术


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值