自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 第一章 MySQL体系结构和存储引擎

内容源于《MySQL技术内幕InnoDB存储引擎》一书,重点笔记1.1 定义数据库和实例    数据库:物理操作系统文件或其他形式文件类型的集合。在MySQL中,数据库文件可以使frm、myd、ymi、idb结尾的文件。使用NDB引擎时,文件不是caozuo操作操作系统上的文件,而是存放于内存中的文件,但是定义仍然不变    数据库实例:由数据库后台进程/线程以及一个共享内存区组成。共享内存区可以...

2018-02-24 15:12:57 269

原创 24、访问者模式—把处理从数据结构分离出来

访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。UML图:package com.thpin.repository.designpattern;import java.util.ArrayList;import java.util.List;public class VisitorDemo { ...

2018-02-22 18:19:01 162

原创 23、解释器模式—编写自己的语法解释器

解释器模式(Interpretor):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。UML图:|和&表达式的简单解释器代码package com.thpin.repository.designpattern;import java.util.HashMap;import java.util.Map;import java.util....

2018-02-22 13:29:50 1574

原创 22、享元模式—省内存、速度快的对象共享技术

享元模式(Flyweight):运用共享技术有效的支持大量细粒度的对象。UML图:package com.thpin.repository.designpattern;import java.util.Hashtable;public class FlyweightDemo { public static void main(String[] args) { Fly...

2018-02-21 17:48:44 196

原创 21、中介者模式—打破一系列对象之间直接通信的耦合性

中介者模式(Mediator):用一个中介对象来封装一系列对象交互。中介者使各对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。UML图:package com.thpin.repository.designpattern;public class MediatorDemo { public static void main(String[] args) {...

2018-02-21 00:28:17 181

原创 20、职责链模式—任务在处理者之间传递

职责连模式(of responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。UML图:package com.thpin.repository.designpattern;public class ChainOfResponsibilityDemo { public st...

2018-02-20 19:24:04 197

原创 19、命令模式—为请求者和实现者解耦

命令模式(Command):将一个请求封装成一个对象,从而使你可用不同的请求对对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。package com.thpin.repository.designpattern;public class CommandDemo { public static void main(String[] args) { Rec...

2018-02-19 23:58:48 183

原创 18、桥接模式—抽象与实现分离。桥接模式和策略模式对比,桥接模式的个人完善

桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立底变化。UML图:package com.thpin.repository.designpattern;public class BridgeDemo { public static void main(String[] args) { Abstraction abstractionA = new ...

2018-02-19 20:14:11 534

原创 17、单例模式—原来单例模式有这么多种实现

单例模式(Singleton):保证一个类只有一个实例,并保证只有唯一的访问点。UML图:package com.thpin.repository.designpattern;public class SingletonDemo {    public static void main(String[] args) {        Singleton1 singleton1 = Sing...

2018-02-19 15:30:44 130

原创 16、迭代器模式—集合的遍历器

迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部显示。UML图:package com.thpin.repository.designpattern;import java.util.ArrayList;import java.util.List;public class IteratorDemo { public static ...

2018-02-18 23:12:37 161

原创 15、组合模式—树状结构的一个集合

组合模式(Composite):将对象组合成树形结构以表示‘部分—整体’的层次结构。组合模式使得对单个对象和组合对象的使用具有一致性。UML图:package com.thpin.repository.designpattern;import com.thpin.repository.collection.util.ArrayList;import com.thpin.repository....

2018-02-18 18:34:38 231

原创 14、备忘录模式—月光宝盒,人生不复返珍惜眼前人

备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象回复到原先保存的状态。UML图:月光宝盒的故事package com.thpin.repository.designpattern;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStr...

2018-02-18 16:16:42 238

原创 13、适配器模式—接口转化

适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本不能兼容而不能一起工作的哪些类可以一起工作UML图:package com.thpin.repository.designpattern;public class AdapterDemo { public static void main(String[] args) { Tar...

2018-02-18 13:03:07 209

原创 12、状态模式—去除状态判断代码

状态模式(State):当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改变其类。UML图:package com.thpin.repository.designpattern;public class StateDemo { public static void main(String[] args) { String state = "stateA"; ...

2018-02-17 18:20:16 785

原创 11、抽象工厂—更换数据库依然保持开闭原则

抽象工厂模式(Abstract Factory):提供一个创建一系列相关huo或者相互依赖对象的接口,而无需指定他们的具体类。UML图:package com.thpin.repository.designpattern;import java.io.FileInputStream;import java.io.IOException;import java.util.Properties...

2018-02-16 18:42:21 153

原创 10、观察者模式—查理大帝更衣,反射实现事件委托

观察者模式(Observer):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使他们能够自动更新自己。UML图:简单实现:package com.thpin.repository.designpattern;import com.thpin.repository.collection.util.ArrayList;i...

2018-02-15 19:34:20 204

原创 9、建造者模式-两款手机的生产过程

建造者模式(Builder):将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。UML图:package com.thpin.repository.designpattern;public class BuilderDemo { public static void main(String[] args) { Director director ...

2018-02-14 00:21:23 274

原创 8、外观模式—MVC三层结构开发中隐藏的模式

外观模式(Facade):为子系统中的一组接口提供y一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易sh使用UML图:package com.thpin.repository.designpattern;public class FacadeDemo { public static void main(String[] args) { Facad...

2018-02-13 16:07:44 576

原创 7、模板方法模式—抽象继承的最好体现

模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的接口即可重定义该算法的某些特定步骤。UML图:package com.thpin.repository.designpattern;public class TemplateMethodDemo { public static void main(String[] args) { ...

2018-02-12 23:25:05 139

原创 6、原型模式—深浅克隆

原型模式(ProtoType):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。UML图:package com.thpin.repository.designpattern;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;...

2018-02-12 20:01:11 202

原创 5、工厂方法模式—计算器操作

工厂方法模式(Factory Method):定义一个创建对象的接口,让子类决子类定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。UML图:package com.thpin.repository.designpattern;public class FactoryMethodDemo { public static void main(String[] args) { ...

2018-02-12 16:36:20 1157 1

原创 4、代理模式—代理追mm

代理模式(Proxy):为其他对象提供一种代理一控制对这个对象的访问。它可以控制真实对象的访问权限、隐藏信息、做额外的操作。UML图:package com.thpin.repository.designpattern;public class ProxyDemo { public static void main(String[] args) { SchoolGirl...

2018-02-12 15:07:47 465

原创 3、装饰模式—小菜和老蔡穿衣服

装饰模式(Decorate):动态给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更为灵活UML图:package com.thpin.repository.designpattern;public class DecoratorDemo { public static void main(String[] args) { System.out.printl...

2018-02-12 13:50:39 171

原创 0、设计模式遵循的六大原则

这里说的设计模式遵循的原则也是我们常听到的面向对象设计、系统设计、接口设计时所遵循的几大原则!一、单一职责原则单一职责原则:就一个类而言,应该仅有一个引起它变化的原因    如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会早遇到意想不到的破坏。    软件设计真正要做的许多内容,就是发现职责...

2018-02-11 22:01:49 147

原创 2、策略模式—算法家族的支配者

策略模式(Strategy):它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。UML图:package com.thpin.repository.designpattern;import java.io.FileInputStream;import java.io.IOException;import java.util.Propert...

2018-02-11 15:47:37 223

原创 1、简单工厂模式——反射+Properties实现计算器

设计模式案例源于本人对大话设计模式和网上资料学习总结,每个设计模式先上代码,后续有时间补充package com.thpin.repository.designpattern;import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;import java.util.Scan...

2018-02-11 12:59:48 684 1

JVM体系

转载:点击打开链接一、前言  为什么要学习了解Java虚拟机  1.我们需要更加清楚的了解Java底层是如何运作的,有利于我们更深刻的学习好Java。  2.对我们调试错误提供很宝贵的经验。  3.这是合格的Java程序必须要了解的内容。  基于此,笔者打算出一个Java虚拟机的系列,加深自己对知识点的理解,同时也方便各位有需要的园友。二、Java虚拟机的定义  Java虚拟机(Java Virt...

2018-02-10 13:56:48 98

原创 zookeeper技术总结

内容 后续更新

2017-09-09 18:43:46 625

空空如也

空空如也

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

TA关注的人

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