本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
jdk动态代理和CGlib动态代理
Jdk动态代理,CGLib字节码生成
如果目标对象实现了接口,可以使用jdk动态代理和CGLib。
如果没有实现接口,只能使用CGLib。
一,jdk动态代理
1.java动态代理用到了一个类(Proxy)和一个接口(InvocationHandler)
2.jdk动态代理是通过实现目标类所实现的接口来产生代理类并生成代理对象的
3.类Proxy:该类用于创建目标类的代理对象 ...
Java 动态代理和Cglib代理(二)
No Cglib示例:
package com.cglibjava.nocglib;
public class InfoManager {
public void query() {
System.out.println("query");
}
}
package com.cglibjava.nocglib;
public class ...
FtpClient和FTPClient下载的使用
最近接收一个遗留项目,用的是flex和java,后台用的是mybatis和spring。在测试时发现下载有问题,结果花了一两天时间才将问题解决,下面将解决过程中碰到的问题和解决的思路贴出来:
因为项目做出来有段时间了,当初用的是sun.net.ftp.FtpClient这个类,这个类本身就存在问题,而且java api文档中无法查询。并且是jdk1.6的版本,导致放在jre1.7上时保存,后来改成j ...
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 ...
cglib中Enhancer的简单使用
cglib 是一个强大的, 高效高质的代码生成库.简单的使用方法Enhancer中有几个常用的方法, setSuperClass和setCallback, 设置好了SuperClass后, 可以使用create制作代 ...
[转]JDK动态代理 cglib
JAVA的动态代理
代理模式
代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。
按照代理的创建时期,代理类可以分为两种。 ...
BeanCopier的性能
能否数据库层和页面展现层使用同一套POJO,避免对象的拷贝。但这样同时也会导致页面展现层和数据库层间的耦合层度较高。在网上查了下资料后才了解到CGLib的BeanCopier的性能要好很多,如下是摘要:
BeanCopier的性能是PropertyUtils (apache-common)的504倍。
PropertyUtils的性能是BeanUtils(apache-common)的1.7 ...
CGLib动态代理实现
在以前学习JDK的动态代理时,了解到JDK动态代理是必须基于接口实现的,没有接口的话就不能使用JDK的动态代理,为代码添加新的应用逻辑。为了解决这个问题,可以使用CGLib动态代理。
下面就用CGLib动态代理实现一个简单的例子。在开始之前需要导入CGLib的jar包,这个jar包在Spring中可以找到,我导入的是cglib-nodep-2.1.3.jar。
一,首先,定义一个Person类:
...
JDK动态代理为什么必须针对接口?其与CGLIB的对比02
http://www.cnblogs.com/frankliiu-java/articles/1896443.html
应用举例如下:
JDK动态代理的简单使用示例:
如有业务类:
package com.proxy;
public class ForumServiceImp ...
jdk动态代理 cglib3.0动态代理
先说说两者的区别
jdk动态代理是java的标准api , 被代理的类必须实现一个或者多个接口,然后根据接口和实现类动态创建代理类,所生成的代理类是java.lang.reflect.Proxy的子类,并且也是实现类的子类(这块可能有点绕)
cglib动态代理是依靠cglib库的api ,被代理的类不用实现接口,它是以生成被代理类的子类的方法来生成代理类的。相比JDK动态代理的优势在于被代理的 ...