白夜行

冗长的黑暗中,你是我唯一的光。

【剑指offer】Java版代码(完整版)

一、引言 《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。 二、目录 赋值运算函数 单例设...

2017-11-02 19:44:44

阅读数 30116

评论数 43

Spring概述

1.Spring定义 1.1 Spring官网介绍 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache License 2.0开源许可协议的形式发布,也有.NET平台上的移植版本。该框架基于 Expert One...

2019-05-14 15:49:30

阅读数 19

评论数 0

【设计模式】组合模式

1.定义 组合模式(Composite)组合多个对象形成树形结构以表示“整体-部分”的结构层次。 2.结构 2.1 UML类图 2.2 角色 Component(树形结构的节点抽象)为所有对象定义统一的接口(公共属性、行为等的定义);提供管理子节点对象的接口方法;提供管理节点对象的接口方法。 ...

2019-05-09 19:01:13

阅读数 56

评论数 0

【设计模式】状态模式

1.定义 状态模式(State)允许通过改变对象的内部状态而改变对象的行为,这个对象就如同修改了它的类 2.结构 2.1 UML类图 2.2 角色 Context:用户对象,拥有一个State类型的成员,以标识对象的当前状态。 State:接口或抽象类,封装与Context的特...

2019-05-09 17:32:02

阅读数 19

评论数 0

【设计模式】装饰模式

1.定义 装饰模式(Decorator)向一个现有的对象添加新的功能,同时又不改变其结构。就增加功能来说,装饰器模式相比生成子类更为灵活。 2.结构 2.1 UML类图 2.2 角色 Component 抽象组件角色:一个抽象接口,是被装饰类和装饰类的父接口 Concrete Componen...

2019-05-09 16:14:27

阅读数 17

评论数 0

【设计模式】中介者模式

1.定义 中介者模式(Mediator)用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 2.结构 2.1 UML类图 2.2 角色 Mediator:抽象中介者,定义了同事对象到中介者对象之间的接口。...

2019-05-09 15:37:43

阅读数 21

评论数 0

【设计模式】责任链模式

1.定义 责任链模式(Chain of Responsibility)也称为职责链模式,它使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。即构造一系列分别担当不同的职责的类的对象来共同完成一个任务。 2...

2019-05-07 18:15:54

阅读数 57

评论数 0

【设计模式】原型模式

1.定义 原型模式(Prototype)采用复制原型对象的方法来创建对象的实例,使得复制后的对象与原型有一样的数据。 浅拷贝与深拷贝的定义 浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值。 深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类型的成员变量创建...

2019-05-07 17:19:04

阅读数 20

评论数 0

【设计模式】享元模式

1.定义 享元模式(Flyweight)通过与其他类似对象共享数据来减小内存占用。 享元模式的两种状态: 内部状态:不会随着环境的改变而改变的可共享部分; 外部状态:会随环境改变而改变的不可共享的部分。 2.结构 2.1 UML类图 2.2 角色 Flyweight 抽象享元角...

2019-04-26 16:20:35

阅读数 26

评论数 0

【设计模式】外观模式

1.定义 外观模式(Facade)为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统或类库方便使用。 2.结构 2.1 UML类图 2.2 角色 Facade :调用方法定义简单的调用接口,它被客户角色调用,熟悉子系统的功能。 SubSyste...

2019-04-25 20:51:10

阅读数 30

评论数 0

【设计模式】桥接模式

1.定义 桥接模式(Bridge)将抽象部分与它的实现部分分离,从而保持各部分的独立性以及应对它们的功能扩展。 2.结构 2.1 UML类图 2.2 角色 Abstraction 抽象类或接口维护对行为实现的引用 Refined Abstraction:抽象化角色的子类,实现父...

2019-04-25 19:51:28

阅读数 35

评论数 0

【设计模式】模板方法模式

1.定义 模板方法模式(Template Method)把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。 2.结构 2.1 UML类图 2.2 角色 Abstract Class 抽象类的父类:由子类实现的方法,并且在模版方法被调用 Co...

2019-04-25 17:19:27

阅读数 188

评论数 0

【设计模式】命令模式

1.定义 命令模式(Command)将一个请求封装为一个对象,从而使可用不同的请求对客户进行参数化,对请求排队或请求记录日志,以及支持可撤销的操作。 2.结构 2.1 UML类图 2.2 角色 Command :声明执行命令的接口,拥有执行命令的抽象方法 execute()。 ...

2019-04-24 15:32:48

阅读数 27

评论数 0

【设计模式】解释器模式

1.定义 解释器模式(Interpreter)给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 2.结构 2.1 UML类图 2.2 角色 Context(解释器上下文环境类):用来存储解释器的上下文环境,例如:需要解释的文法等。 Abstrac...

2019-04-23 20:34:10

阅读数 23

评论数 0

【设计模式】建造者模式

1.定义 建造者模式(Builder)用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 2.结构 2.1 UML类图 2.2 角色 产品(Product)角色:包含多个组成部件的复杂对象,由具体建造者来创建其各个...

2019-04-23 19:14:59

阅读数 25

评论数 0

【设计模式】简单工厂模式

1.定义 简单工厂模式又称静态工厂方法模式(Static FactoryMethod)提供了一种创建对象的最佳方式,通过创建一个工厂类来创建其它类的实例。 2.结构 2.1 UML类图 2.2 角色 工厂(Creator)角色:实现创建所有实例的内部逻辑,工厂类可以被外界直接调用,创建所需的产...

2019-04-23 16:57:11

阅读数 12

评论数 0

【设计模式】观察者模式

1.定义 观察者模式(Observer)定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 2.结构 2.1 UML类图 2.2 角色 Subject(被观察者):被观察的对象,当需要被观察的状态发生变化时,需要通知队列中所有的观察者对象...

2019-04-23 15:50:13

阅读数 26

评论数 0

【设计模式】工厂方法模式

1.定义 工厂方法模式(Factory)定义一个创建产品对象的工厂接口,让子类决定实例化哪一个类,使得一个类的实例化延迟到其子类。核心工厂类不再负责产品的创建,它成为了一个抽象工厂角色,仅负责具体工厂子类实现的接口。 2.结构 2.1 UML类图 2.2 角色 抽象工厂(Creator)角色:...

2019-04-23 11:45:28

阅读数 24

评论数 0

【设计模式】访问者模式

1.定义 访问者模式(Visitor)表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。将数据结构与数据操作分离。 2.结构 2.1 UML类图 2.2 角色 访问者角色(Visitor):为该对象结构中具体元素角色声明了一...

2019-04-22 21:19:58

阅读数 20

评论数 0

【设计模式】迭代器模式

1.定义 迭代器模式(Iterator)将容器中包含的内部对象的访问委让给外部类,按顺序进行遍历访问,即可顺序访问集合对象元素,而不暴露该对象的底层细节。 2.结构 2.1 UML类图 2.2 角色 Iterator(迭代器接口):该接口必须定义实现迭代功能的最小定义方法集,例如提供hasNe...

2019-04-22 20:04:57

阅读数 30

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭