摘要: 1. 存储引擎 1.1. MyISAM 只支持表锁:加锁时,会锁定整张表数据。 表读锁 加锁:LOCK TABLE table_name READ; 解锁:UNLOCK TABLES; 表写锁 加锁:LOCK TABLE table_name WRITE; 解锁:UNLOCK TABLES; MyI 阅读全文
posted @ 2022-02-14 15:03 、嘎路的米。 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1. SQL 执行顺序 2. 查询优化 2.1. 优化关联条件 确保on上有索引,存在联合索引时,要考虑索引的顺序 确保order by / group by 时,只涉及到一张表的列 2.2. 优化子查询 尽可能使用关联代替子查询 2.3. 优化union 除非需要过滤序重复数据,否则推荐使用 un 阅读全文
posted @ 2022-02-11 21:39 、嘎路的米。 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1. 概念 索引底层存储用的B+树 一张表中有2个索引,那就会有2个B+树。(索引就是B+树存储的,可以理解为索引就是B+树) 什么是B+树?参考连接 https://cloud.tencent.com/developer/article/1681803 特殊情况:mysql的 memery 存储引 阅读全文
posted @ 2022-01-23 23:23 、嘎路的米。 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 概念 定义一个算法中的框架,将一些步骤延迟到子类中实现,使得子类不需要改变算法结构就能重新定义算法的某些步骤。 炒菜时需要起锅、烧油、炒菜、出锅等步骤。但是起锅、烧油、出锅等步骤是必须的。 炒菜这步骤有不确定因素,可能炒白菜,也可能炒青菜。 可以把炒菜的动作放到子类去实现,子类想炒什么菜就炒什么菜。 阅读全文
posted @ 2021-12-07 16:50 、嘎路的米。 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 概念 备忘录主要用于记录状态,便于回滚,常用于记录快照,或者存储数据到磁盘。当数据发生问题时,再从磁盘读取当初存档的数据还原。 例如我玩个游戏,打boos前我有1000血,1000魔法,我希望打boos之前保存我现在的状态,当打不过时,还能还原成初始状态 实现方式 import lombok.Dat 阅读全文
posted @ 2021-12-07 16:41 、嘎路的米。 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 概念 原型模式主要为了解决复制对象的问题。复制对象的最好办法就是调用对象的自己方法进行复制。可以在对象中提供一个clone方法,当调用clone方法时,返回一个新的对象 实现方式 import lombok.Data; /** * 原型 */ public class Demo { public s 阅读全文
posted @ 2021-12-07 16:34 、嘎路的米。 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 概念 老师发布打开课本的命令,学生听到这个命令就打开课本。老师发布阅读的命令,学生听到命令后就开始阅读。 如果用普通的方式去写代码,那么老师和学生之间就存耦合关系。比如老师直接调用学生的打开课本方法,学生就打开课本。老师调用学生的阅读方法,学生就开始阅读。这样老师和学生就存在耦合关系。 而命令模式主 阅读全文
posted @ 2021-12-07 16:31 、嘎路的米。 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 概念 桥接模式可以把两个独立变化的因素连接到一起。 举个射击游戏的例子 1:某射击游戏中有玩家,还有枪。而玩家能有好多人,比如张三/李四。枪也能有好多种类型,比如AK47/M4A1。 2:现在玩家和枪是独立的个体,我新增玩家不需要改变已有的玩家和枪的代码,我新增一把枪也不需要改变已有的玩家和枪的代码 阅读全文
posted @ 2021-12-01 10:36 、嘎路的米。 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 概念 电脑是无法直接插入内存卡的,那么可以使用读卡器作为电脑和内存卡的桥梁,电脑可以通过调用读卡器,从而读到内存卡中的信息。那么读卡器就相当于一个适配器。其实就是电脑通过适配器的方法间接访问内存卡的信息。 适配器平时写代码也经常用到。比如使用VO类接受前端参数,但是保存到数据库时需要的是PO类。那么 阅读全文
posted @ 2021-12-01 10:31 、嘎路的米。 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 概念 为了灵活构造复杂对象,该对象会有多个成员变量,在外部调用的时候,不需要或者不方便一次性创建出所有的成员变量,所以需要建造者模式。 建造者模式主要是为了把一个复杂的对象分步骤去创建。 比如要组装电脑,电脑中有CPU/主板/显示器/内存卡等等很多的属性,如果使用构造方法去创建电脑,那会显得很复杂, 阅读全文
posted @ 2021-12-01 10:27 、嘎路的米。 阅读(24) 评论(0) 推荐(0) 编辑