1 Star 0 Fork 0

曹庆光 / about-aop

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

关于AOP 和 字节码

字节码相关

  • ASM
  • javassist
  • BCEL

动态代理

  • javaAPI Proxy
  • cglib

AOP

  • aspectJ
  • fastAOP
  • spring aop

Agent

两种方式

  1. premain 运行前指定
  2. agentmain 运行后动态附着

实测

t1:java原生调用 t2:java反射调用 t3:javassist调用 循环执行10次 每次内循环1亿次 耗时对比

1->t1:37 t2:218 t3:30
2->t1:31 t2:225 t3:31
3->t1:29 t2:214 t3:27
4->t1:27 t2:213 t3:26
5->t1:27 t2:211 t3:27
6->t1:27 t2:213 t3:26
7->t1:27 t2:211 t3:27
8->t1:27 t2:212 t3:26
9->t1:27 t2:213 t3:27
10->t1:26 t2:212 t3:26

结论

原生调用 和 javassist生成代码调用 耗时一样 反射调用耗时是原生调用的7倍左右

空文件

简介

关于 字节码增强 动态代理 aop agent 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/cqgvip/about-aop.git
git@gitee.com:cqgvip/about-aop.git
cqgvip
about-aop
about-aop
master

搜索帮助