- 博客(7)
- 问答 (1)
- 收藏
- 关注

原创 JDK、CGLIB、Spring 三种实现代理的区别(三)Spring的ProxyFactory
之前两篇文章中我们说到了JDK proxy和CGLIB实现动态代理的方式,这回说说Spring的方式。Spring中代理对象可通过xml配置方式获得,也可通过ProxyFactory手动编程方式创建对象。我们主要讲手动编程的方式。Spring中的代理对象其实是JDK Proxy和CGLIB Proxy 的结合。 下面我们使用ProxyFactory的方式创建代理对象,顺便看看和JDK的proxy...
2017-12-26 13:53:27
8772
3

原创 JDK、CGLIB、Spring三种实现代理的区别(二)CGLIB中proxy动态代理
CGLIB中的动态代理是JDK proxy的一个很好的补充,在JDK中实现代理时,要求代理类必须是继承接口的类,因为JDK最后生成的proxy class其实就是实现了被代理类所继承的接口并且继承了java中的Proxy类,通过反射找到接口的方法,调用InvocationHandler的invoke 方法实现拦截。CGLIb中最后生成的proxy class是一个继承被代理类的class,通过重写...
2017-12-20 14:47:08
8811
2

原创 JDK、CGLIB、Spring三种实现代理的区别(一)JDK Proxy 解析基于Java 8
Java中从1.3中引入Proxy,实现接口的动态代理。JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。本文从简单例子入手,通过分析源码看看其内部实现原理,使用的是JDK 1.8。简单运用使用动态代理主要涉及接口InvocationHandler,以及Proxy类。 通过动态代理实现对接口中方法调用前后进行拦截处理创建...
2017-12-20 14:22:17
1723

原创 beanstalkd实现延迟任务
beanstalkd实现延迟任务公司业务中需要用到延迟功能,时间误差要求小,多方调研,最后选择使用beanstalkd。文档将过程记录下来,以便回顾。beanstalkd 初探beanstalkd是一个c语言编写的开源的轻量级任务调度框架。通过查询网上资料,大概了解下beanstalkd(网上相关资料并不是很多),在此感谢各位网页的分享贡献,主要参考资料地址如下:官方文档http://kr.git
2016-08-03 16:10:13
4772
原创 linux命令记录
下载资源下载文件重命名:wget -c URL -O filerename查看文档结构的Tree Tree 是一个实用的树形菜单空间,可方便查看文档的目录结构安装:yum install tree使用:在想要查看的目录下直接执行 tree
2016-08-03 11:49:10
216
原创 git 学习记录
git 学习记录1.放弃本地的修改如果本地没有commit,使用git checkout file;如果本地已经commit,使用git reset --hard origin/branch,同步远程代码到本地;
2016-08-03 10:36:11
270
空空如也
mysql 中having查询问题
2017-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人