1、聚集索引和非聚集索引 聚集索引:索引中键值的逻辑顺序决定了表中对应行的物理顺序,且索引到的值保存了全部数据; 非聚集索引:索引中的键值的逻辑顺序与表中对应行的物理顺序不一...
1、聚集索引和非聚集索引 聚集索引:索引中键值的逻辑顺序决定了表中对应行的物理顺序,且索引到的值保存了全部数据; 非聚集索引:索引中的键值的逻辑顺序与表中对应行的物理顺序不一...
第一次做 Java 生产环境的问题排查,借机学习了 jstack / jmap / MAT 等工具的使用,也对 MySQL 事务和锁的理解更进一步。 整个过程累计用了 10 ...
分布式锁特点:1)互斥性、2)可重入锁(避免死锁,加过期时间/版本号);3)获取/释放锁性能好;4)最好阻塞锁(根据业务需求考虑要不要)5)容错性:只要大部分节点存活,Cli...
操作系统的内存管理,主要分为三个方面。第一,物理内存的管理,相当于会议室管理员管理会议室。第二,虚拟地址的管理,也即在项目组的视角,会议室的虚拟地址应该如何组织。第三,虚拟地...
又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后需要时可以将该对象恢复到之前的状态。 结构 发起人(Originator)角...
封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新操作。 结构 抽象访问者(Visitor)角色:定义了对每一个元素(Ele...
提供了一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示; 结构 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。...
又称调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。 其实中介者模式是单一职责的体现,对于类来说,它仅仅包含自...
又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察...
问题引入 设计一个电梯,其拥有开门、关门、停止、运行四种状态。每一种状态的改变都需要根据其他状态来更新处理。 分析:这种实现方法使用了大量的swict...case语句,使得...
又名职责链模式,为了避免请求发生者和多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连城一条链;当有请求发生时,可将请求沿着这条链传递,直到有...
将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加和管理。 结构 抽象命令类(C...
该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。 策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法...
定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。 结构 抽象类(Abstract Class): ...
又称为部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。 结构 抽象根节点(Component):定义系统各个...
外观模式又称为门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一的接口,外部应用程序不用关系内部子系统的具体的...