码迷,mamicode.com
首页 > 编程语言 > 详细

java动态代理汇总

时间:2016-07-23 16:35:03      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

逛知乎,有篇关于fastjson如此快为什么国外还是喜欢用Jackson的问题,高票答案中有一点提到了fastjson有很多写死的地方,也不太适合像spring这种依赖AOP的框架使用,顺便提到了ASM,一个可以动态的生成java字节码的框架。兴趣使然,顺便也巩固下已经荒废很久的主业。哦,对了,fastjson没有网络盛传的说比Jackson快很多,我听到同事说的是快了10倍。

https://www.zhihu.com/question/44199956

1.关于asm

一个只专注java字节码操作和分析的框架,可被用于修改已存在的类文件或则动态的生产类,是通过字节码结构的方式来完成的。http://asm.ow2.org/

2.关于javassist

一个让java字节码操作简单的库。小日本写的,现在已经并入jboos应用下 http://jboss-javassist.github.io/javassist/

3.

类似字节码操作方法还有ASM。几种动态编程方法相比较,在性能上Javassist高于反射,但低于ASM,因为Javassist增加了一层抽象。在实现成本上Javassist和反射都很低,而ASM由于直接操作字节码,相比Javassist源码级别的api实现成本高很多。几个方法有自己的应用场景,比如Kryo使用的是ASM,追求性能的最大化。而NBeanCopyUtil采用的是Javassist,在对象拷贝的性能上也已经明显高于其他的库,并保持高易用性。实际项目中推荐先用Javassist实现原型,若在性能测试中发现Javassist成为了性能瓶颈,再考虑使用其他字节码操作方法做优化。

参考:

http://blog.csdn.net/luanlouis/article/details/24589193

http://www.cnblogs.com/hucn/p/3636912.html

轮子不在多,只是区分好场景,都是好轮子,另外在此基础上,接入cglib和原生java 动态,挺赞的。

可以作为下个分享会的题材了

时间赶,先这样吧,未完待续^^

 

java动态代理汇总

标签:

原文地址:http://www.cnblogs.com/draem0507/p/5698832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!