发布了文章2023-04-26
Byte Buddy是一个开源的Java字节码操作库,它允许程序在运行时生成和修改Java类的字节码,而无需使用编译器。Byte Buddy主要用于创建和操作Java字节码,但也可以用于创建任意类,并且不限于实现用于创建运行时代理的接口。
发布了文章2022-12-07
由于最近沉迷小孩子的MySQL 是怎样运行的:从根儿上理解 MySQL,想造一点数据磨练一下自己的所学,所以准备创建两个一百万数据的表,一开始写一个简单的程序使用jdbc往里面插入数据,开始的写的时候我已经意识到了为了提高插入速度,可以使用多线程去插入,所以第一...
发布了文章2022-11-07
目录开撕MyBatis源码1. 手写持久层框架-ipersistent1.1 JDBC操作数据库\_问题分析1.2 JDBC问题分析&解决思路1.3 自定义持久层框架\_思路分析使用JDBC和使用持久层框架区别:框架,除了思考本身的工程设计,还需要考虑到实际项目端的使用场景,干系方涉及两端:核心接...
发布了文章2022-08-21
目录什么是反向代理正向代理反向代理Nginx进程模型Worker抢占机制Nginx事件处理配置文件配置结构主要配置常用命令日志分割定时任务分割日志配置一个静态文件使用GZIP压缩Location匹配规则跨域的方式同源策略跨域资源共享 反向代理两者比较配置防盗链负载均衡负载均衡...
发布了文章2022-06-29
通过构建一条流水线,将一个请求按照顺序进行多次处理下面使用一个登录的例子来实现责任链模式请求体类 {代码...} 抽象处理类 {代码...} 具体处理过程 验证密码 → 权限验证 {代码...} {代码...} 测试 {代码...} 可以与建造者模式结合用于构建调用链抽象处理类 & 构造...
发布了文章2022-06-29
也就是我们为您可以将system start 和system close封装到一个对象中,然后对象可以与空调、冰箱等家电组合实现system close 空调的功能。
发布了文章2022-06-25
中介者维护一组用户的交互,用户之间通过中介者进行交互,而不是直接交互。中介者模式种一般有以下角色抽象中介者:定义中介者需要的执行方法。具体中介者:实现用户交互的具体逻辑。用户类:引入中介者,向中介者输出需要交互的内容。下面通过一个婚介中心的实例来...
发布了文章2022-06-25
根据对象的内部状态变化生成相应快照,以便以后恢复。下面举一个使用笔记软件的历史版本控制的例子来实现备忘录模式。原始类 {代码...} 备忘录类(旧版本类) {代码...} 版本存储类 {代码...} 测试类 {代码...}
发布了文章2022-06-25
状态模式的定义是允许对象通过改变其状态的方式改变它的行为。状态模式中有以下几种角色上下文类:用于记录状态、修改状态,行为的调用等抽象状态类:所有用于表示同一类状态的类的父类,并定义了一个行为接口具体状态类:不同状态的具体实现下面是使用状态模式对一...
发布了文章2022-06-21
策略是对算法的封装,将不同的算法封装到具有相同接口的独立的类中,使算法本身和客户端分离开来,并且算法之间可以相互替换。在策略模式中主要有以下几种角色上下文信息类(Context):用于存放和执行需要使用的具体策略类以及客户端调用的逻辑。抽象策略类(Strate...
发布了文章2022-06-18
比如说在部队中可能在一起的有炮兵、汽车兵、步兵等,他们每天都要训练,训练内容射击、跑步是每个兵种每天都要练的,但是还有其它训练是每个兵种自己独有的训练,那么他们一条的训练内容可能如下。
发布了文章2022-06-18
在类的内部结构不变的情况下,不同的访问者访问这个对象,都会呈现出不同的效果。访问者模式有以下角色元素类:是一个抽象类或者接口,里面会定义一个接收(accept)访问者的抽象方法,使得每一个元素能被访问者访问。具体元素:继承或实现元素类,实现接收方法。访问者...
发布了文章2022-06-18
抽象主题(Subject)角色:也叫抽象目标类,它提供了一个用于保存观察者对象的聚集类和增加、删除观察者对象的方法,以及通知所有观察者的抽象方法。
发布了文章2022-06-18
在之前的单例模式中,曾经写过一个“多例模式”的demo,一个类可以有固定个数的对象实例,每次需要使用这个类的实例的时候就从存有对象实例的集合中取一个使用。
发布了文章2022-06-12
将对象组合成树状结构以表示整个部分的层次结构,组合模式可以让用户统一对待单个对象和对象组合。组合模式一般可以分三个角色抽象组件:定义需要实现的统一操作组合节点:一个可以包含多个对象的复合对象,意味着它下面可能还会有其它组合节点和叶子节点叶子节点:...
发布了文章2022-06-12
比如说支付宝中完成一笔交易需要调用下单接口、入账接口、通知接口等接口,那么就可以是使用一个门面类对这些接口进行代理,将这些接口组合成一个接口,在饿了么、淘宝、盒马下单时只需要关注这一个门面类就行。
发布了文章2022-06-02
允许动态的向一个现有对象增加新功能,同时又不改变它的结构,相当于对现有对象的一个包装,因此装饰器模式也被称作包装模式。装饰器模式中一般存在以下四中角色抽象组件:具体组件和抽象装饰器共同的父类,最基础的组件具体组件:实现抽象构建中声明的方法,装饰器...
发布了文章2022-06-01
将抽象和具体实现分离,通过抽象类来关联其具体实现,减少类之间的耦合。下面通过一个车厂和汽车品牌的实例来实现桥接模式汽车品牌的抽象 接口 里面声明一个获取汽车品牌的方法 {代码...} 车厂抽象类 其中会组合汽车品牌的抽象 里面声明一个输出汽车信息的抽象方法 {...
发布了文章2022-06-01
目录类适配器对象适配器两种适配器的选择使用场景类适配器下面我们使用Mac电脑和U盘适配的一个简单实例来了解类适配器的实现方式。首先创建一个Mac的接口有读写的数据的功能 {代码...} 然后有一个u盘的实例 {代码...} 但是mac接口直接连接u盘所以我们给它增加一个适...
发布了文章2022-05-31
目录静态代理动态代理JDK动态代理cglib动态代理静态代理被代理类和代理类都实现Apple接口 {代码...} 创建一个“烟台”苹果的实例作为被代理类,里面主要实现一个购买苹果的方法,也是后面主要用来被代理增强的方法。 {代码...} 创建一个“烟台”苹果的代理类,其主要充当...