07 2024 档案
摘要:设计模式-适配器模式( Adapter Pattern) 概要 记忆关键词:转换,兼容接口 定义:将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 分析:在适配器模式中,客户端调用适配器以获得相应功能,适配器扩展适配者以实现对应功能。
阅读全文
摘要:设计模式-外观模式(Facade) 概要 记忆关键词:对外统一接口 定义:为了使复杂的子系统更容易被使用,应当为子系统的众多接口提供一个简洁的高层接口。 分析:外观模式为子系统的众多接口提供了统一的高层接口,使子系统更容易使用。 类型:结构型 外观模式结构图如下: 代码示例: public clas
阅读全文
摘要:设计模式 - 简单工厂模式(Simple Factory Pattern) 概要 记忆关键字:工厂类创建对象 定义:通过工厂类创建对象,并且根据传入参数决定具体子类对象的做法,就是简单工厂模式。 分析:如果一个类的实例需要在许多地方被创建和初始化,而初始化的代码也比较复杂。此时可以考虑使用简单工厂模
阅读全文
摘要:IDEA 字节码工具 jclasslib bytecode viewer 1. 下载安装 首先我们在 IDEA 的插件市场中搜索 jclasslib bytecode viewer 和进行下载安装,安装过后根据 IDEA 版本的不同,可能需要重启才能使用。 2. 使用 下载安装过后,在我们的项目中,
阅读全文
摘要:《Redis设计与实现》学习笔记-集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。 下面会对集群的节点、槽指派、命令执行、重新分片、转向、故障转移、消息等各个方面进行介绍 一、节点 1. 连接节点 一个Redis集群通
阅读全文
摘要:设计模式-代理模式(Proxy Pattern) 概要 记忆关键字:代理控制 定义:为其他对象提供一种代理以控制对这个对象的访问。 分析: 1)通过代理类,给对象的行为增加辅助功能的解决方案,就是代理模式 2)在程序运行时,动态地为被代理对象生成代理类,借助编程语言当中的"反射"特性。 3)动态代理
阅读全文
摘要:设计模式-抽象工厂模式(Abstract Factory Pattern) 概要 记忆关键词:抽象接口 定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 分析:如果待创建的产品非常多,我们不需要为每一个产品类配上一个工厂类,而是可以把这些产品进行分组。抽象工厂模式是一种把产
阅读全文
摘要:设计模式-建造者模式(Builder) 概要 记忆关键词:类和构造分离 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 分析: 1)当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。 2)构建者模式的精髓是将复杂对象的构建过程封装
阅读全文
摘要:设计模式-原型模式(Prototype) 概要 记忆关键词:原型实例、拷贝 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 分析:原型模式就是从一个样板对象中复制出一个内部属性一致的对象。它是在内存中拷贝二进制流,比new一个对象的性能好很多。 原型模式结构图如下: 一、深拷
阅读全文
摘要:设计模式-职责链模式(Chain of Responsibility) 概要 记忆关键词:传递请求,职责链接 定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将多个对象连成一条链,并沿着这条链发送请求,直到有一个对象处理它为止。 分析:当客户提交一个请求,请求是沿链传递
阅读全文
摘要:设计模式-状态模式(State Pattern) 概要 记忆关键词:状态变成类 定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 类型:行为型 状态模式结构图如下: 一、能解决什么问题 它主要用来解决对象在多种状态转换时,需要对外输出不同行为的问题。状态和行为是一一对应
阅读全文
摘要:InnoDB存储引擎中的锁 概要 人们认为行级锁总会增加开销。实际上,只有当实现本身会增加开销时,行级锁才会增加开销。InnoDB存储引擎不需要锁升级,因为一个锁和多个锁的开销是相同的。 一、什么是锁 ? 锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对共享资源的并发访问。 二、锁类型
阅读全文