CgLib代理的底层实现

CGLib采用了非常底层的字节码技术,使用字节码处理框架ASM,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。CGLib创建的动态代理对象性能比JDK创建的动态代理...

2018-03-16 16:43:52

阅读数 174

评论数 0

JDK代理和CGLIB代理的区别

JDK动态代理只能对实现了接口的类生成代理,而不能针对类CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法(继承)(1)当Bean实现接口时,Spring就会用JDK的动态代理(2)当Bean没有实现接口时,Spring使用CGlib是实现(3)可以强制使用CGlib(在sp...

2018-03-16 16:28:37

阅读数 1237

评论数 0

Spring AOP的实现原理

AOP(Aspect Orient Programming),我们一般称为面向切面编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为Aspe...

2018-03-16 16:25:50

阅读数 45

评论数 0

mysql和java中实现悲观锁和乐观锁

mysql乐观锁实现: 使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增加一个版本标识,一般是通过为数据库表增加一个数字类型的 “version” 字段来实现。当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值加...

2018-03-16 15:28:06

阅读数 2527

评论数 0

一个自己实现的rpc框架

整合spring配置文件头部加入rpc的namespace;服务端:服务端标签:<rpc:protocol port="8888"/><rpc:registry address=&quot...

2018-03-06 09:55:42

阅读数 190

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭