Android侧字节码技术。编译时字节码修改以及运行时字节码生成(动态代理,cglib等等)是我们平常过程中经常需要的技术。
开这个repo的目的是为了介绍下,编译时字节码修改技术,主要有下面三种。
- javaassit修改字节码
- asm修改字节码
- AspectJ aop 技术
当然,也有一些翻译版本的tutorial,但是在这里就不写了。
技术是需要应用在实践当中的,那么我们可以利用这些字节码技术做哪些事情呢。下面是我所了解的一些场景
- AOP参数校验,
- AOP打点
- AOP性能监控
- 编译时BugFix
- 编译时检查