Javassist动态修改Class对象

一、背景

上一篇文章 Java代理 讲了动态代理,JDK的Proxy动态代理是用反射机制来实现,而CGLIB是通过ASM操作字节码来实现,用ASM操作字节码比较复杂,需要熟悉Class文件结构,用Javassist也可以实现修改类对象,可以在一个已经编译好的类中添加新的方法或者修改已有的方法而不需要你对字节码文件有深入的了解,这个功能还是很强大,不仅服务端在做拦截时会用到,Android做热更新也可以用这个,唉,以前做了2年的Andoid现在差不多忘光了。

二、Javassist核心类介绍

CtClass:表示Class文件,一个CtClass对象可以处理一个Class文件,有addField、addMethod、addConstructor、writeFile(根据CtClass生成.class文件)、to

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值