什么是限流? 为什么要限流? 限流就是在一定时间内控制服务接口的请求量(qps) 通过限流,我们可以很好地控制系统的qps,从而达到保护系统或者接口服务器稳定的目的等 限流的常用算法 1. 计数器法 计数器法是限流...
设计模式
适配器模式 Idea
定义 将一个类的接口转接成用户所期待的 优缺点 优点: 客户端通过适配器可以透明地调用目标接口。 复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。 将目标类和适配者类解耦,解决了目标类和适...
代理模式 Idea
代理模式 Proxy 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 案例 创建一个Subject接口类 pa...
抽象工厂模式 Idea
抽象工厂模式 AbstractFactory 抽象工厂模式其实就是多个工厂方法模式 AbstractFactory抽象工厂类 下述代码是一个抽象工厂类,它的职责是定义每个工厂要实现的功能,有n个产品族,在抽象工厂类中就应该有n个创建...
建造者模式 Idea
建造者模式 Builder 指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示 (表示好特么抽象,看不懂) 使用场景 当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使...
工厂模式 Idea
工厂模式 Factory 工厂模式可以根据传入的参数不同返回不同的实例 3.1 简单工厂模式 产品接口类 package com.learn.Factory.SimpleFactory; public interface Product { } 具体的产品A类 package com.learn.Fac...
策略模式 Idea
策略模式 Strategy 策略模式是一种行为型模式,它将对象和行为分开,将行为定义为 一个行为接口 和 具体行为的实现。策略模式最大的特点是行为的变化,行为之间可以相互替换。每个if判断都可以理解为就是一个策略...
单例模式 Idea
单例模式 Singleton 一个类只能有一个实例,且该实例是由自己自行创建 特点 单例模式只有一个实例对象 该单例对象必须由单例类自行创建 对外提供一个获取该单例对象的公共方法 饿汉式单例 package com.learn.si...