加载中
Java中常用的锁机制

一. 什么是锁? 在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问限制。锁旨在强制实施互斥排他、并发控制策略。 锁通常需要硬件支持才...

详解Java final关键字

通常我们对Java中final关键字的理解是“用final修饰的变量是不可变的”,如果尝试对final变量多次赋值,编译器将报错。似乎final的作用就是保证变量不可变,这没有错,但是如果我们在Java中灵...

02/02 14:25
21
设计模式(十六)[结构模式] 装饰模式(Decorator)

1.什么是装饰模式? 装饰模式又名包装模式。装饰模式以对客户端透明的方式扩展对象功能,是继承关系的一个替代方案。 2.模式的类图 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收...

2018/10/17 21:58
10
设计模式(十五)[结构模式] 合成模式(Composite)

1.什么是合成模式? 合成模式把部分和整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待。 2.安全式的合成模式的结构 抽象构件(Com...

2018/10/07 22:09
12
设计模式(十四)[结构模式] 适配器模式(Adapter)

1.什么是适配器模式? 把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。 2.类的适配器模式的结构 目标(Target)角色:这就是所期...

2018/10/06 21:42
20
设计模式(十三)[创建模式] 原型模式(Prototype)

1.什么是原型模式? 通过给出一个一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。 2.简单形式的原始模型 客户(Client)角色:客户类提出创建...

2018/09/30 19:12
30
设计模式(十二)[创建模式] 建造模式(Builder)

产品的内部表象:一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象,他们通常又叫做产品的内部表象。 抽象构造者(Builder)角色:给出一个抽象接口,以规范产...

2018/08/14 21:56
4
设计模式(十一)[创建模式] 单例模式(Singleton)

单例模式的要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。大多数的软件都有一个(甚至多个)属性文件存放系统配置。这样的系统应当由...

2018/08/13 22:27
5
设计模式(十)[创建模式] 抽象工厂模式(Abstract Factory)

采用抽象工厂模式设计出的系统类图: package com.test01; public interface Creator { /** * 产品等级结构A的工厂方法 * @return */ public ProudctA factoryA(); /** * 产品等级结......

2018/08/12 22:45
5
设计模式(九)[创建模式] 工厂方法模式(Factory Method)

工厂方法模式是简单工厂模式进一步抽象和推广。在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体创建的工作交给子类去做。这个核心类则摇身一变,成为抽象工厂的角色,仅...

2018/08/12 21:33
6
设计模式(八)[创建模式] 简单工厂模式(Simple Factory)

有一个农业公司,专门向市场销售各类水果。在这个系统里需要描述下列的水果,葡萄(Grape),草莓(Strawberry),苹果(Apple)。 package com.test; public interface Fruit { /** * 生长 */...

2018/08/10 23:28
25
设计模式(七)迪米特法则(LoD)

迪米特法则(LoD):一个对象应当对其他对象有尽可能少的了解。 广义迪米特法则在类的设计上的体现 1.优先考虑将一个类设置成不变类 一个对象与外界通信大体分成两种,一种是改变这个对象的状...

2018/08/10 22:43
7
设计模式(六)接口隔离原则(DIP)和合成/聚合复用原则(CARP)

1.接口隔离原则(DIP)(这个没有多说的) 使用多个专门的接口比使用单一的总接口要好。 2.合成/聚合复用原则(CARP) 合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新...

2018/08/10 22:07
15
设计模式(五)依赖倒转原则(DIP)

1.为何“倒转”? 简单的说,传统的过程性系统的设计办法趋向于使高层次的模块依赖于低层次的模块;抽象层依赖于具体层。倒置原则是要把这个错误的依赖关系倒转过来。抽象层次包含的是应用系...

2018/08/09 21:36
8
设计模式(四)里氏代换原则(LSP)

什么是里氏代换原则? 严格的表达是:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子...

2018/08/09 21:12
5
设计模式(三)Java语言的接口和抽象类

一.接口 什么是接口? 接口是一个类所具有的方法的特征集合,是一种逻辑上的抽象。接口和类最重要的区别是,接口仅仅描述方法的特征,而不给出方法的实现;而类不仅给出方法的特征,而且给出...

2018/08/08 22:36
6
设计模式(二)“开-闭”原则(OCP-----Open-Closed Principle)

什么是“开-闭”原则? “开-闭”原则讲的是:一个软件实体应当对扩展开放,对修改关闭。这个原则说的是,在设计一个模块的时候,应当在不必修改源代码的情况下改变这个模块的行为。 满足“开...

OCP
2018/08/08 21:26
3
设计模式(一)统一建模语言UML

UML类图主要描述的是对象与类之间的关系,包含依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。 泛化...

2018/08/06 22:43
10

没有更多内容

加载失败,请刷新页面

返回顶部
顶部