行为型模式-观察者模式 对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 Subject 抽象的主题,被观察的对象,提供Attach和Detach Observer对象的接口。 ConcreteSubject具体的被观察对象,维持ConcreteSubject状态。当状态发生变化时,发送消息通知它的观察者。 Obse...
行为型模式-模板方法模式 定义一个操作框架,将一些具体的步骤延迟到子类中实现。使子类可以在不改变算法的结构上可以重定义改算法的某些特定步骤。 封装不变的部分,扩展可变部分,把不便的部分封装到父类中实现,可变的部分通过继承在子类中实现。 模板方法角色: AbstractClass定义一个模板,其子类将重定义PrimitiveOperation1和Primitiv...
Java基础类—Short Short类继承抽象类Number,将基本类型short包装在一个对象中public static final short MIN_VALUE = -32768最小值public static final short MAX_VALUE = 32767;最大值public static final Class<Short> TYPE =(Class<Short>) Clas...
Java基础类—Byte Byte类继承抽象类Number,将基本类型byte的值包装在一个对象中public static final byte MIN_VALUE = -128最小值public static final byte MAX_VALUE = 127;最大值public static final Class<Byte> TYPE =(Class<Byte>) Class.getPri...
Java基础类—Character Character类提供一些方法,比如:(小写字母、数字等),并用于大小写转换。Character基于Unicode标准。Java平台使用UTF-16表示Char、String、StringBUffer类。Unicode编码知识:目前Unicode字符分为17组编排,从0X0000到0x10FFFF,每组有65536个码位,共1114112个码位。基本多文种平面(第零平面)BMP范围:U+0000...
Java基础类—Boolean Boolean类将基本类型为boolean的值包装在一个对象中。public static final Boolean TRUE = new Boolean(true)值true的Boolean对象public static final Boolean FALSE = new Boolean(false)基值false的Boolean对象public static final Class<B...
Java 的8种基本类型 整数类型byte8位[-128,127]最小数据单位short16位[-32768,32767] int32位[-2^32,2^32] long64位[-2^64,2^64] 浮点类型float32位指数:8位,尾数:23位 double64位指数:11位,尾数:52位 字符类型char16位[0,65535] 布尔类型boolean--范围并没有精确定义 《Java虚拟机规范》一书中的描述...
Unicode 编码理解 Unicode(统一码、万国码、单一码)于1990年开始研发,1994年正式公布,是计算机领域里一项业界标准,包括字符集,编码方案等。Unicode是为了解决传统字符编码方案的局限而产生的,为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。 计算机在设计时采用8个比特(bit)作为一个字节(byte),所以一个字节最多能表示256个字符...
GB2312编码理解 计算机信息交换使用汉字编码字符集是国家1980年发布,标准号为:GB2312-1980。 GB2312编码主要适用于汉字处理、汉字通讯等系统之间的信息交换。基本集主要收集了6763个汉字和682个图形字符,整个字符集分成94个区、每个区有94个位,每个区位上面一个字符,因此可以使用区和位来对汉字进行编码。 在区位码加上2020H,就是国标码。国标码加上8080H,得到计算机常用...
Maven构建SpringMvc报错 导入一个Maven项目,启动后访问报错,错误内容:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet。检查pom.xml、web.xml配置没有发现问题,查看jar包一切正常,查看tomcat部署,发现WEB-INF下面没有lib文件夹。在项目上右键properties,查看Depl...
结构型模式-享元Flyweight模式 享元模式解决由于存在大量的细粒度对象而造成不必要的内存开销的问题,它与外观模式恰好相反,关注的重点是细小的对象。 享元对象共享是要区分内部状态和外部状态,内部对象不随环境的变化,可以共享;外部对象通常是由客户端调用的时候传递的,不共享。 享元模式角色: ◊Flyweight:声明一个接口,来接收并作用于外部状态。 ◊ConcreteFlyweight:实现...
结构型模式-代理Proxy模式 代理模式为其他对象提供一种代理以控制对这个对象的访问,它侧重于增加间接层来简化复杂的问题。代理模式角色: ◊Subject:定义ConcreteSubject与Proxy的共用接口,从而在任何使用ConcreteSubject的地方都可以使用Proxy。 ◊ConcreteSubject:定义Proxy所代表的Subject。 ◊Proxy:1、维持一个引用,使得代理可以...
结构型模式-外观Facade模式 外观模式将复杂系统的内部子系统与客户程序之间的依赖解除,它侧重于简化接口,更多的是一种架构模式。 外观模式角色:◊Facade:将客户端的请求转给相应的子系统处理。◊ SubSystem:实现各个子系统的具体功能。优点:1、实现子系统与客户端之间松耦合关系2、减少客户端处理对象的数目,使子系统使用其他更加方便容易。结构图:namespace Libraries.Test.Desig...
结构型模式- 装饰器Decorator模式 装饰模式采用对象组合而非继承的手法,实现在运行时动态的扩展对象功能的能力,它强调的是扩展接口。 装饰器模式角色:◊Component:定义一个对象接口,可以给这些对象动态地添加职责。◊ConcreteComponent:定义一个对象,可以给这个对象添加一些职责。◊Decorator:维持一个指向Component的指针,并定义一个与Component接口一致的接口。◊Concr...
结构型模式-组合Composite模式 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 "组合对象" 的含义。 组合模式让你可以优化处理递归或分级数据结构。 组合模式的结构包括Component、Leaf 、Composite 三个部分,其中: Component 是组合...
软件能力成熟度模型(CMM) CMM 是对软件组织进化阶段的描述,随着软件组织定义、实施、测量、控制和改进其软件过程。基于CMM模型的产品包括一些诊断工具,可应用于软件过程评价和软件能力评估小组,以确定一个机构的软件过程实力、弱点、风险。最著名的是成熟度调查表。软件过程评价及软件能力评估的方法也依赖于CMM模型。 CMM成熟度级别一、初始级软件过程是无序的,甚至是混乱的,没有什么是经过定义的,项目成功的完成完全依赖个人的努力和...
软件生存周期 把整个软件生存周期划分成若干阶段、使每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件的开发变的容易控制和管理。通常,软件生命周期包括可行性分析与项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等,可以将这些活动以适当的方式分配到不同的阶段去完成。一、可行性分析与项目开发计划这个阶段主要确定软件开发目标及其可行性。必须要弄清楚的问题是:要解决的问题是什么?该问题有...
结构型模式-桥接Bridge模式 桥接模式是通过将抽象和实现分离,让它们可以分别独立地变化,它强调的是系统沿着多个方向的变化;适配器模式和桥接模式具有一些共同的特征:他们都给另一对象提供了一定程度上的间接性,因而有利于系统的灵活性;它们都涉及从自身以外的一个接口向这个对象转发请求。这两种模式的不同之处主要在于它们各自的用途。适配器模式主要是为了解决两个已有接口之间不匹配的问题,它不考虑这些接口是怎样实现的;而桥接模式则对抽象接口与...
服务的注册与发现(Eureka) 一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解。二、创建服务注册中心2.1 首先创建一个maven主...
Linux常用命令大全 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 ...