动态

静态代理和动态代理

非 Y 不嫁゛ 提交于 2019-11-28 06:16:31
(1)按照代理的创建时期,代理类可以分为两种: 静态:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的 .class文件就已经存在了。 动态:在程序运行时运用反射机制动态创建而成。 来源: https://www.cnblogs.com/fzdsy/p/11396876.html

【面试】Spring 执行流程

半城伤御伤魂 提交于 2019-11-28 05:12:50
Spring Aop的实现原理: AOP 的全称是 Aspect Orient Programming ,即面向切面编程。是对 OOP (Object Orient Programming) 的一种补充,专门用于处理一些具有横切性质的服务。常常用于日志输出、、安全控制等。 AOP(面向切面编程思想)主要是的实现技术有 Spring AOP 和 AspectJ。 AspectJ 的底层技术:AspectJ 的底层技术是静态代理,即用一种AspectJ 支持的特定语言编写切面,通过一个命令来编译,生成一个新的代理类,该代理类增强了业务类,这是在编译时增i强,相对于下面说的运行时增强,编译时增强的性能更好。 Spring AOP : Spring AOP 采用的是动态代理,在运行期间对业务方法进行增强,所以不会生成新类,对于动态代理技术,Spring AOP 提供了对 JDK 动态代理的支持以及 CFLib的支持。 JDK 动态代理只能为接口创建动态代理实力,而不能对类创建动态代理。需要获得被目标类的接口信息(应用 JAVA 的反射技术),生成一个实现了代理接口的动态代理类(字节码),再通过反射机制获得动态代理类的构造函数,利用构造函数生成动态代理类的实例对象,在调用具体方法前调用 invokeHandler 方法来处理。   CGLib 动态代理需要依赖ASM包,把代理对象类的

动态路由协议

前提是你 提交于 2019-11-28 02:15:28
动态路由协议分类 ——按工作区域分为 内部网关协议IDP(RIP、IS-IS、OSPF) 在同一个自治系统(AS)内交换路由信息 IGP主要目的是发现和计算自治域内的路由信息 外部网关协议EGP 自治系统(AS): 一组共享相似路由策略并在单一理域中运行的路由器 的集合 每个自治系统都有一个唯一的自治系统编号,由IANA分配 自治系统编号范围1-65535,1-65411是注册的lnternet编号,其余是专用网络编号。 ——按路由算法划分 距离-矢量路由协议(RIP、BGP) 定期广播整个路由信息,传闻式路由算法 易形成路由环路 配置简单,收敛慢,扩展性较差 链路状态路由协议(OSPF、IS-IS) 收集网络拓扑信息,通告LSA,运行协议算法计算最佳路由 根本解决路由环路问题 收敛快,扩展性较好,算法耗费更多的路由器内存和处理器能力。 来源: https://www.cnblogs.com/Clanquire-C/p/11938370.html

代理设计模式

本小妞迷上赌 提交于 2019-11-28 02:01:03
什么 是代理 模式 为其他对象提供一种代理以控制对这个对象的访问。 为什么使用 代理 模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。 开闭原则,增加功能 代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭原则。代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后对返回结果的处理等。代理类本身并不真正实现服务,而是同过调用委托类的相关方法,来提供特定的服务。真正的业务功能还是由委托类来实现,但是可以在业务功能执行的前后加入一些公共的服务。例如我们想给项目加入缓存、日志这些功能,我们就可以使用代理类来完成,而没必要打开已经封装好的委托类。 代理 模式实现原理 代理模式主要包含三个角色,即抽象主题角色(Subject)、委托类角色(被代理角色,Proxied)以及代理类角色(Proxy),如下图所示: 抽象主题角色:可以是接口,也可以是抽象类; 委托类角色:真实主题角色,业务逻辑的具体执行者; 代理类角色:内部含有对真实对象RealSubject的引用,负责对真实主题角色的调用,并在真实主题角色处理前后做预处理和后处理。 代理 模式应用场景

08_动态sql

孤街醉人 提交于 2019-11-28 01:57:39
1、动态sql指根据不同的查询条件,生成不同的sql语句 2、Mapper文件 来源: https://www.cnblogs.com/djlindex/p/11386534.html

代理模式(Proxy Pattern)

十年热恋 提交于 2019-11-28 01:37:11
标签 :设计模式 模式简介   代理模式是一种 结构型模式 。使用一个代理类来调用真实类的请求。   代理可以提供延迟实例化,访问控制,等等功能。 UML类图 角色 抽象角色(Subject) :声明真实对象和代理对象的共同接口。 代理角色(Proxy) :代理对象角色 内部含有对真实对象的引用 ,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时, 附加其他的操作 ,相当于对真实对象进行封装。 真实角色(RealSubject) :代理角色所代表的真实对象,是我们最终要引用的对象。 分类   代理模式根据其目的和实现方式不同可分为很多种类,其中常用的几种代理模式简要说明如下: 远程代理(Remote Proxy)   给一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又称为大使(Ambassador)。 虚拟代理(Virtual Proxy)   如果需要创建一个资源消耗较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只在需要时才会被真正创建。 保护代理(Protect Proxy)   控制对一个对象的访问,可以给不同的用户提供不同级别的使用权限。 缓冲代理(Cache Proxy)  

java动态代理

假装没事ソ 提交于 2019-11-27 23:45:55
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 首先看一下静态代理: 1、Count.java package net.battier.dao; /** * 定义一个账户接口 * * @author Administrator * */ public interface Count { // 查看账户方法 public void queryCount(); // 修改账户方法 public void updateCount(); } 2、CountImpl.java package net.battier.dao.impl; import net.battier.dao.Count; /** * 委托类(包含业务逻辑) * * @author Administrator * *

动态网站要怎么通过CDN实现加速?

最后都变了- 提交于 2019-11-27 20:41:24
CDN即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟主网络,CDN系统能够实时地根据网络流量和各节点的链接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。 其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。 动态网站CDN是如何加速的? 大家普遍认为动态网站不适合CDN加速,其实不是。动态网站一般是与用户互动,数据要求实时性,比如论坛、搜索引擎、电子商务、股票行情。动态网站加速的基本原理:比如现在3个CDN节点: 电信,联通,移动,用户网站放在电信。联通用户访问的时候,会通过昆明电信节点>>中转节点电信>>中转节点联通 由于中转电信和中转联通节点都是一个机房,这样就解决了电信和联通之间的瓶颈问题。 基本的原理如下:通过CDN众多节点找到一条最快的路由,去源站点取数据从而达到对动态网站加速,再配合数据压缩技术,可以将动态网站的访问速度提高10倍甚至100倍。另外,动态网站的页面内容一般是由静态图片和动态文本混合组成,而静态图片将会被缓存到CDN节点的硬盘上,也能提高动态网站的访问速度。 来源: https://my.oschina.net/u