ASM&CGLIB - 基础篇
文章平均质量分 90
iteye_21015
这个作者很懒,什么都没留下…
展开
-
ASM(一) 初识ASM
一、什么是ASM 首先看下官方中的说明 ASM a very small and fast Java bytecode manipulation framework。ASM是一个JAVA字节码分析、创建和修改的开源应用框架。它可以动态生成二进制格式的stub类或其他代理类,或者在类被JAVA虚拟机装入内存之前,动态修改类。在ASM中提供了诸多的API用于对类的内容进行字节码...原创 2012-10-26 23:15:01 · 415 阅读 · 0 评论 -
cglib相关性能测试对比
转载:http://www.iteye.com/topic/801577很多同学提出,因中文文档缺乏,导致对文章中的介绍看的不是很明白,更多的只是想了解具体的使用即可。所以趁势写了这篇博文,主要是将cglib中的几个工具类和常用的Reflect ,BeanUtils做一个对比,顺便也介绍一下cglib的相关用法,一举两得,望大家多多支持。 正题:1. 首先定义一份Pojo Be...原创 2013-01-23 17:40:25 · 85 阅读 · 0 评论 -
cglib源码学习交流
转载:http://agapple.iteye.com/blog/799827背景 前段时间在工作中,包括一些代码阅读过程中,spring aop经常性的会看到cglib中的相关内容,包括BeanCopier,BulkBean,Enancher等内容,以前虽大致知道一些内容,原理是通过bytecode,但没具体深入代码研究,只知其所用不知其所以然,所以就特地花了半天多的工作时间研究...原创 2013-01-23 17:37:37 · 89 阅读 · 0 评论 -
Spring中JDK动态代理和CGLIB动态代理的性能比较
转载:http://budairenqin.iteye.com/blog/1500366 新项目开始之前领导让研究下公司原有的框架(基于struts1.2.9+spring2.0.6),比较古老了。读service基类时发现竟然将request穿透到了service层(request为BaseService的实例变量),这样service就变成了有状态Bean,使service层变成了非...原创 2013-01-23 17:35:26 · 127 阅读 · 0 评论 -
动态代理方案性能对比
转载:http://javatar.iteye.com/blog/814426因服务框架需要用动态代理生成客户端接口的stub,所以做了一下性能评测, 动态代理工具比较成熟的产品有: JDK自带的,ASM,CGLIB(基于ASM包装),JAVAASSIST, 使用的版本分别为: JDK-1.6.0_18-b07, ASM-3.3, CGLIB-2.2, JAVAASSIST-3.11.0.G...原创 2013-01-23 17:34:07 · 166 阅读 · 0 评论 -
Java之代理(二)
JDK动态代理的原理是根据定义好的规则,用传入的接口创建一个新类,这就是为什么采用动态代理时为什么只能用接口引用指向代理,而不能用传入的类引用执行动态类。 cglib采用的是用创建一个继承实现类的子类,用asm库动态修改子类的代码来实现的,所以可以用传入的类引用执行代理类 Spring AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,可以...原创 2013-01-23 17:14:05 · 100 阅读 · 0 评论 -
Java之代理(一)
一.概念代理是什么呢?举个例子,一个公司是卖摄像头的,但公司不直接跟用户打交道,而是通过代理商跟用户打交道。如果:公司接口中有一个卖产品的方法,那 么公司需要实现这个方法,而代理商也必须实现这个方法。如果公司卖多少钱,代理商也卖多少钱,那么代理商就赚不了钱。所以代理商在调用公司的卖方法后,加上自己的利润然后再把产品卖给客户。而客户部直接跟公司打交道,或者客户根本不知道公司的存在,然而客户...原创 2013-01-21 14:45:06 · 116 阅读 · 0 评论 -
CGLIB
cglib is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime.cglib是Code Generation Library的缩写。CGlib是一个强大的,高性能,高...原创 2012-12-07 22:10:32 · 93 阅读 · 0 评论 -
ASM(四) - ASM定类、方法、属性
下面三篇文章讲解怎么定义类、方法、变量等说的很详细 明了。 http://alvinqq.iteye.com/blog/940960 http://alvinqq.iteye.com/blog/940965 http://alvinqq.iteye.com/blog/940970 一、如何使用ASM ASM提供了两套API供使用者使用,一套叫Co...原创 2012-10-27 23:13:13 · 267 阅读 · 0 评论 -
ASM(三) - ASM中的访问者模式
在ASM的Core API中使用的是访问者模式来实现对类的操作,主要包含如下类:一、ClassVisitor接口: 在这个接口中主要提供了和类结构同名的一些方法,这些方法可以对相应的类结构进行操作。如下:public interface ClassVisitor { void visit(int version,int access,Strin...原创 2012-10-27 22:50:27 · 186 阅读 · 0 评论 -
ASM(二) - Java类的基本表述
上一篇文章,我们已体验到ASM的威力,那么结合上面的代码解释ASM是怎么执行的。 ClassWriter clazzWriter = new ClassWriter(0); 首先看下官方文档对ClassWriter的描述: A ClassVisitor that generates classes in bytecode form. More precisely ...原创 2012-10-27 19:32:20 · 214 阅读 · 0 评论 -
Java反射知识和Java动态代理
[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/1123293原创 2013-02-26 15:05:51 · 85 阅读 · 0 评论