反射 https://blog.csdn.net/ritterliu/article/details/7764849 反射:反射属于动态编译,就是在编译期并不确定是哪个类被加载了,而是在程序运行的时候才加载,所以我们可以动态的解剖一个类,获取这个类的任意属性和方法。 1.获取类对象 类名.class ...
分类:
其他好文 时间:
2019-04-22 18:08:59
阅读次数:
132
什么是动态代理呢?就是在java的运行过程中,动态的生成的代理类。(为了更熟悉的了解动态代理,你必须先熟悉代理模式,可点击设计模式之代理模式 阅读)我们知道java属于解释型语言,是在运行过程中,寻找字节码文件从而实现类加载的。但是字节码文件并不需要一定是硬盘中的class文件,也可以是来自网络、数 ...
分类:
其他好文 时间:
2019-03-30 01:02:25
阅读次数:
169
动态代理实现思路 实现功能:通过Proxy.newProxyInstance返回代理对象 1、创建一个处理业务逻辑的接口,我们也和JDK一样,都使用InvocationHandler作为接口名,然后接口里面一个invoke方法,jdk呢是有三个参数,我们简化了一下就只要两个参数即可。 2、声明一段j ...
分类:
其他好文 时间:
2019-03-29 01:12:52
阅读次数:
168
在Java中有多种动态代理技术,如JDK、CGLIB、Javassist、ASM,其中最常用的动态代理技术是JDK和CGLIB。 1、JDK的动态代理 JDK动态代理是java.lang.reflect.*包提供的方法,必须要借助一个接口才能产生代理对象,对于使用业务接口的类,Spring默认使用J ...
分类:
编程语言 时间:
2019-03-20 20:52:42
阅读次数:
273
一、背景 今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高? 二、基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。 自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创 ...
分类:
编程语言 时间:
2019-02-27 13:11:46
阅读次数:
185
JDK动态代理 说到java自带的动态代理api,肯定离不开反射。JDK的Proxy类实现动态代理最核心的方法: 这个方法的作用:在运行时,动态创建一组指定接口的实现类对象。其中的三大参数: ClassLoader loader 类加载器,主要作用是用来加载类的,把.class文件加载到jvm的方法 ...
分类:
其他好文 时间:
2019-02-27 01:18:36
阅读次数:
169
一、背景 今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高? 二、基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。 自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创 ...
分类:
编程语言 时间:
2019-02-23 13:24:08
阅读次数:
225
1、JDK动态代理利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类, 在调用具体方法前调用InvokeHandler来处理。 2、CGLiB动态代理利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 3、何时 ...
分类:
其他好文 时间:
2019-02-21 17:29:31
阅读次数:
215
理解AOP先理解JDK动态代理: https://www.cnblogs.com/zuidongfeng/p/8735241.html spring 1、Spring 在ssm中起什么作用? 2、Spring的事务? 3、IOC 在项目中的作用? 4、Spring的配置文件中的内容? 5、Sprin ...
分类:
其他好文 时间:
2019-01-24 11:10:04
阅读次数:
141
代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的索引,实际执行时通过调用代理类的方法、实际执行的是被代理类的方法。 而AOP,是通过动态代理实现的。 一、简单来说: JDK动态代理只能对实现了接口的类生成代理,而不能针对类 CGLIB是针对类实现代理,主要是对指定的类生 ...
分类:
其他好文 时间:
2019-01-19 20:07:19
阅读次数:
265