本文供个人学习,复习使用,不适合他人阅读 接上文讲到ActionProxy了,还不知道这个类的作用,名字是action的代理类,实际上作用还得看看。 ExecuteOperations类 execute.executeAction调用了调度器处理action请求,看下文具体讲serviceAcito ...
分类:
其他好文 时间:
2019-05-11 09:30:49
阅读次数:
109
dubbo架构图 节点角色说明 整体设计 proxyFactory:就是为了获取一个接口的代理类,例如获取一个远程接口的代理。它有2个方法,代表2个作用 getInvoker:针对server端,将服务对象,如DemoServiceImpl包装成一个Invoker对象。 getProxy :针对cl ...
分类:
其他好文 时间:
2019-05-07 11:44:54
阅读次数:
124
一、AOP与过滤器的区别 二、代理模式 代理的模式的作用:就是使用一个代理类来管理被代理类对象(源对象)的统一处理。我们将这种统一处理的理解称为控制访问。 代理模式的缺陷:1. 代理类必须要继承或者实现一个基类或者接口!!(很笨重)。每个接口都要实现一个新的代理类。限制了代理的源对象的类型!!!2. ...
分类:
编程语言 时间:
2019-04-26 09:22:16
阅读次数:
185
这里查看JDK1.8.0_65的源码,通过debug学习JDK动态代理的实现原理 大概流程 1、为接口创建代理类的字节码文件 2、使用ClassLoader将字节码文件加载到JVM 3、创建代理类实例对象,执行对象的目标方法 动态代理涉及到的主要类: java.lang.reflect.Proxyj ...
分类:
其他好文 时间:
2019-04-25 14:46:27
阅读次数:
132
看代码: 测试结果: 忽然发现该代理模式和之前的装饰器模式极其相似。 区别仅在于需要用到的装饰器模式调用时引入了一个对象,而代理模式并没有; 但是其中思想并不同,装饰器模式只是将引用的类进行装饰,也就是用来扩展; 而代理模式则是用来代理处理一些相关事物。 所以修改的话使用代理模式是对代理类进行修改。 ...
分类:
编程语言 时间:
2019-04-22 11:57:17
阅读次数:
184
看下Spring核心的代理类 AbstractAutoProxyCreator 这是Spring核心的一个代理类,他的子类: 接口: BeanFactoryAware 的作用 初始化之前执行一个方法: 进入方法: return proxyFactory.getProxy(getProxyClassL ...
分类:
编程语言 时间:
2019-04-20 09:36:54
阅读次数:
119
代理模式是常用的Java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类 预处理消息,过滤消息,把消息转发给委托类,以及事后处理消息等。 代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身 并不真正实现服务,而是通过调用委托类的对象的 ...
分类:
其他好文 时间:
2019-04-17 09:38:37
阅读次数:
130
静代理模式 真实角色 代理角色(自定义) 两个角色实现同一接口 实现方式:继承 VS 聚合(构造方法为真实对象赋值) 例:线程Thread 动态代理: 基于接口:jdk自带的动态代理 java.lang.reflect.Proxy类提供用于创建动态代理类和实例的静态方法 java.lang.refl ...
分类:
其他好文 时间:
2019-04-11 19:27:20
阅读次数:
132
在介绍动态代理之前首先简单捎带下静态代理(自己的理解) 所谓静态代理是实际调用者通过一个代理对象调用目标对象的方法,代理对象与目标对象必须具备相同的方法名, 所以代理对象和目标对象必须实现同一个接口。静态代理的缺点是:开发者必须自己手动实现 代理类 所谓动态代理,是 当 .java源码通过类加载器变 ...
分类:
其他好文 时间:
2019-04-09 11:07:41
阅读次数:
228
一、原理区别: java动态代理是利用反射机制生成一个实现代理接口的代理类,在调用具体方法前调用InvokeHandler来处理。 而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 1、如果目标对象实现了接口,默认情况下会采用JDK的动态 ...
分类:
其他好文 时间:
2019-04-06 18:51:38
阅读次数:
132