自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

master的博客

技术改变生活。

  • 博客(14)
  • 收藏
  • 关注

转载 字符编码笔记:ASCII,Unicode和UTF-8

ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态因此八 个二进制位就可以组合出256状态A,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之

2017-03-18 00:17:01 216

原创 2、Spring之AOP

AOP术语通知:定义了切面是什么以及何时使用。除了要描述页面要完成的工作,通知还解决了何时执行这个工作的问题。 连接点:连接点是一个物理的存在。这个点可以是调用方法时、抛出异常时、甚至是修改一个字段时。 切点:如果通知定义了切面是”什么“和”何时“,那么切点定义了”何处“。切点的定义会匹配通知所要织入的一个或者多个连接点。通常使用明确的类名和方法名来指定这些切点,或者使用正则表达式定义匹配的类和方法

2017-03-09 23:10:01 251

原创 八、模板方法模式

定义 模板方法模式:在一个方法中定义一个算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。UML类图 说明: 1、AbstractClass抽象中包含了模板方法,primitiveOpration1() 和primitiveOpration2() 是这个模板方法所用到的操作的抽象版本。 2、模板方法在实现算法的过程中,用到

2017-02-19 21:49:22 210

原创 三、装饰者模式

定义:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 个人理解 1、装饰者存在两个重要的组成部分,需要被装饰的组件(被装饰者)和装饰者抽象。每个装饰者需要持有一个组件,也就是说,装饰者需要持有Component抽象的引用。 2、装饰者和被装饰者必须是一样的类型也就是要有共同的超类,这是装饰者模式的关键。(因为装饰者必须要能取代被装饰者) 3、在以上 的类图中

2017-02-19 18:29:44 174

原创 七、适配器模式

1. 定义 适配器模式:将一个类的接口,装换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 2. UML类图 说明: 1、客户看到的是目标接口。 2、适配器与被适配者组合。 3、适配器实现目标接口。 4、所有的请求都委托给配适配者。 装饰者和适配器模式对比 适配器 装饰者 说明: 1、

2017-02-19 14:57:36 192

原创 六、命令模式

定义 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。UML图 说明:Invoker 是命令的执行者,通过调用Command中的execute()方法执行命令。 Receiver 是一个接收者,接收着定义了一系列可以执行的动作。 ConcreteCommand 是由抽象的Command派生出来的,实现了Command定义的exe

2017-02-18 13:23:23 368

原创 五、单件模式

经典单件 public class Singleton { private static Singleton uniqueInstance; private Singleton() {} public static Singleton getInstance() { if (uniqueInstance == null) { uniqu

2017-02-18 10:28:50 341

转载 乐观锁与悲观锁——解决并发问题

引言   在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。 典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍

2017-02-18 09:31:33 816

原创 一、策略模式

定义:策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。一个使用了策略模式案例的UML类图:(策略模式) 个人见解:策略模式通过封装算法族,使用多态的方式持有FlyBehavevior 和 QuackBehavior 两个算法族的引用。可以动态的设置这两个算法族的引用行为,从而做到在运行时指定FlyBehavior 和 QuackBehavio

2017-02-12 14:17:49 172

原创 二、观察者模式

定义:定义了对象之间的一对多依赖,这样一来,当一个对象状态改变的时候,它的所有依赖者都会收到通知并自动更新。 一个实现了观察者模式的气象站(https://github.com/sunhuace/GOF-23.git)UML图: 设计原则: 个人理解:观察者模式分为两个部分,主题和观察者。也同样利用了Java中的多态性质。其中主题持有一个观察者的集合。并提供了对集合中观察者的增加、删除和通知观察者

2017-02-12 14:09:56 171

原创 四、工厂模式

1. 简单工厂一个实现了简单工厂的UML类图:(简单工厂) 说明:    1、客户通过在PizzaStore通过SimplePizzaFactory取得Pizza的实例。    2、SimplePizzaFactory是应用中唯一用到具体Pizza产品的地方    3、Pizza定义为抽象类,具有一些有用的实现(但不是必须的),这些实现也可以被覆盖

2017-02-11 16:16:32 206

原创 Spring中的Bean配置

配置Bean 1. 通过全类名(反射) 2. 通过工厂方法(静态工厂&实例工厂) 3. 通过实现FactoryBean

2017-02-11 14:40:14 275

原创 CDSN博客第一天

CDSN博客第一天今天是CSDN写博客的第一天。 2017/2/11 13:05:45

2017-02-11 13:06:58 474

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-02-11 12:19:46 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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