自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Programming is an art form.

本博客暂停维护

  • 博客(200)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 第五章 servlet容器

一、Container接口tomcat中的servlet容器必须要实现org.apache.catalina.Container接口。tomcat中的容器包括:Engine、Host、Context、Wrapper。 有关这四个容器的类图如下: 常用方法:addChild(Container child);removeChild(Container child);

2017-01-08 18:20:41 518

原创 第三章 tomcat简易连接器

一、整体UML序列图 二、静态资源UML序列图 三、servlet请求UML序列图

2017-01-01 21:09:39 473

原创 第二章 一个简单的servlet服务器

一、程序1在这个例子中,可以同时处理静态文件,和servlet请求。一个全功能的servlet容器会为servlet的每个请求HTTP请求做下面工作:当第一次调用servlet的时候,加载该servlet类并调用servlet的init方法(仅仅一次)。对每次请求,构建一个request和response实例。当调用servlet的service方法,同时传递request和response对

2016-12-11 16:43:48 698

原创 享元设计模式例子

一、概述主要为了在创建对象时,对共有对象以缓存的方式进行保存,对外部对象进行单独创建.二、涉及角色抽象享元:一个接口或抽象类; 具体享元:内部状态为其成员属性,其实例为享元对象,可以共享; 享元工厂:生产享元对象,将具体享元对象存储在一个享元池中,享元池一般设计为一个存储“键值对”的集合; 客户端:使用享元对象三、UML类图例子:public interface FlyWeight {

2016-12-10 13:48:27 1029

转载 中介者设计模式例子

原文地址:http://www.cnblogs.com/jyyzzjl/p/5187376.html一、概述 用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。二、特点 1、有多个系统或者对象发生交互,但又不能直接进行交互; 2、通过一个中介者来保留所有的交互对象(又叫同事类)的引用; 3、同事类同事也需要保留中介者的

2016-12-10 11:59:09 881

转载 责任链设计模式例子

原文地址: 1.http://www.cnblogs.com/manmanlu/p/5732979.html 2.http://www.cnblogs.com/jyyzzjl/p/5187376.html一、概述使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。二、涉及角色抽象处理类:抽象处理类中主要包含

2016-12-10 11:37:56 2791 1

原创 命令设计模式例子

参考文章: 1.http://www.cnblogs.com/wangjq/archive/2012/07/11/2585930.html 2.http://www.cnblogs.com/konck/p/4199907.html一、概述将一个请求封装为一个对象(即我们创建的Command对象),从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤销的操作。二、解决的

2016-12-10 11:07:17 417

转载 桥接设计模式例子

原文地址:http://www.importnew.com/6857.html一、概述是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。二、使用场景1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。

2016-12-10 10:14:56 556

转载 HTTP请求格式和HTTP响应格式

原文地址:http://www.sxt.cn/u/366/blog/77一、请求格式 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:请求方法URI协议/版本(URL-Protocol/Version)请求头(Request Header)请求正文(Entity Body)下面是一个HTTP请求的例子:GET/sample.jsp

2016-12-08 23:48:32 5112

原创 迭代器模式例子

一、概述 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴漏对象的内部表示。二、设计角色   1) 迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口。   2) 具体迭代器角色(Concrete Iterator):具体迭代器角色要实现迭代器接口,并要记录遍历中的当前位置。   3) 容器角色(Container):容器角色负责提供创建具体迭代器角色的接口。

2016-12-08 22:03:55 2518

原创 组合模式例子

一、概述组合模式(Composite),将对象组合成树形结构来表现“整体&部分”这一层次结构。这种模式能让客户以一致的方式处理个别对象以及对象组合。二、设计角色(1)抽象构件角色(Component):是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。这个接口可以用来管理所有的子对象。 (2)树枝构件角色(Composite):定义有子部件的那些部件的行为。在Component

2016-12-08 09:23:50 4792

原创 备忘录模式例子

一、概述保存对象的某个状态并可以恢复到该状态二、涉及角色Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。Memento(备忘录):负责存储Originnator对象的内部状态,并可防止Originator以外的其他对象访问备忘录Memen

2016-12-07 16:00:17 3583

转载 适配器模式例子

一、概念将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。二、设计角色目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 需要适配的类(Adaptee):需要适配的类或适配者类。 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。三、UML类图例子:/* *

2016-12-07 14:56:36 1362

转载 观察者模式例子

原文地址:http://www.cnblogs.com/mengdd/archive/2013/02/07/2908929.html一、概念观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。二、涉及角色抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的

2016-12-07 11:17:16 446

原创 建造者模式例子

一、类图二、设计到的角色产品(Product)角色 由一系列部件组成,一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。抽象建造者(Builder)角色 给出一个抽象接口,以规范产品对象的各个组成成分的建造。一般而言,此接口独

2016-12-06 16:14:04 2882

转载 模板方法模式例子

原文地址:http://www.cnblogs.com/jenkinschan/p/5768760.html一、概述 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。二、结构类图三、解决问题模板方法就是提供一个算法框架,框架里面的步骤有些是父类已经定好的,有些需要子类自己实现。相当于要去办一件事情,行动的流

2016-12-05 17:14:11 3869 2

原创 代理模式例子

1.概念代理模式就是为某个对象提供一种代理,以控制对这个对象的访问。2.涉及角色抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。 真实角色:代理角色所代表的真实对象,是我们最终要引用的

2016-12-02 23:40:48 4266 2

原创 装饰模式例子(Decorator Pattern)

/* * 人类 */public class Person { public Person() { } public Person(String name){ this.name = name; } private String name; public String getName() { return name;

2016-12-01 22:31:18 453

转载 单一职责原则例子

原文地址:http://blog.jobbole.com/85529/ 这篇文章写的真好定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P

2016-11-28 21:59:50 8994 1

转载 策略模式例子

原文地址:http://yangguangfu.iteye.com/blog/815107#comments1,什么是策略模式? 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。2,策略模式有什么好处? 策略模式的好处在于你可以动态的改变对象的行.3,设计原则 设计原则是把一个类中经常改变或者将来可能改

2016-11-28 21:39:54 3375

原创 简单工厂模式、工厂模式和抽象工厂模式例子

一、简单工厂模式算法的封装: 定义一个抽象的算法接口,提供不同算法的公共接口方法。其他具体算法继承这个抽象类,并实现具体的算法。简单工厂类: 作为一个独立的类,实现了针对不同的算法进行实例化。题目:输入两个数和运算符,得出结果。package simpleFacotory;public class Operation { protected int a; protected int b;

2016-11-27 20:57:41 597

转载 UML-状态图学习

一、状态图简介(Brief introduction)状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流。如下图例子

2016-11-22 10:28:27 595

转载 UML-时序图学习

原文地址:http://www.cnblogs.com/yuexiaohao/p/5311786.html序列图的结构序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流等元素构成的。1、对象 对象就是类或者类对象。命名方式为:对象名:类名,可以省略其中任意一个。   对象的左

2016-11-22 09:31:06 1108

转载 UML-类图学习

原文地址:http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html1、什么是类图类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系2、类图的元素在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依

2016-11-21 16:41:05 719

转载 UML-用例图学习

原文地址:http://www.cnblogs.com/silent2012/archive/2011/09/07/2169518.html1、什么是用例图用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做。用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例。2、用

2016-11-21 16:28:55 657

原创 替换windows文件名不能出现的字符

//windows下文件名中不能含有:\ / : * ? " < > | 英文的这些字符 if(StringUtils.isNotBlank(mName)){ mName = mName.replaceAll("[/\\\\:*?<>|]",""); if(StringUtils.isBlank(mName)){ mName = "未命名"; }}

2016-11-21 10:24:43 6659

原创 spring源码-缓存中获取单例bean

spring 3.2 源码如下:protected Object getSingleton(String beanName, boolean allowEarlyReference) { Object singletonObject = this.singletonObjects.get(beanName); if (singletonObject == null &

2016-11-20 14:34:32 634

原创 spring源码导入eclipse全过程

具体步骤:①spring源码下载说明:从github上下载的是3.2 大版本的可能会要求JDK的版本1.8,我电脑上的JDK版本是1.7②gradle下载说明:我的版本是3.1,下载后要配置环境变量③编译进入源码目录执行:gradle eclipse -x :eclipse (耗时较长)我中途遇到了这样一个问题:* What went wrong:A problem occurred c

2016-11-15 17:40:47 1745

转载 Oracle 使用MERGE INTO 语句更新数据

Merge into 详细介绍 MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询, 连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。 这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。-- 语法MERGE [INTO [schema .

2016-11-15 11:28:14 735

原创 spring 启动过程

spring的启动过程:1.首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境;2.其次,在web.xml中会提供有contextLoaderListener。在web容器启动时,会触发容器初始化事件,此时contextLoaderListener会监听到这个事件,其cont

2016-11-06 01:57:24 465

原创 第一章 一个简单的web服务器

一、HttpServer类package ex01;import java.net.Socket;import java.net.ServerSocket;import java.net.InetAddress;import java.io.InputStream;import java.io.OutputStream;import java.io.IOException;import

2016-11-04 23:17:59 575

转载 java Field类

原文地址:http://www.cnblogs.com/xinhuaxuan/p/6019510.html一、Field类是什么Field是一个类,位于java.lang.reflect包下。 在Java反射中 Field类描述的是 类的属性信息,通俗来讲 有一个类如下:package com.testReflect;public class FieldDemo { public int

2016-11-03 15:54:05 14086 2

转载 java中的匿名内部类总结

原文地址:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口实例1:不使用匿名内部类来实现抽象方法abstract class Person { public

2016-11-03 13:45:10 363

转载 Java 中 Comparable 和 Comparator 比较

Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,“实现Comparable接口的

2016-10-31 23:49:33 333

转载 Java中List的排序

第一种方法,就是list中对象实现Comparable接口,代码如下:public class Person implements Comparable<Person> { private String name; private Integer order; /** * @return the name */ public String getNa

2016-10-31 22:18:54 457

原创 jquery源码笔记2-初始化函数

一、先看一个函数 hasOwnPropertyfor in的时候,它会把对象的属性(包括原型的属性)遍历一遍,例如: 有这么一段代码:var array = [];array.push(1);array.push(2);array.push(3);for(var i in array) {console.log(i+":"+array[i]);}此时会输出什么呢?当然是0:1 1:2

2016-10-30 20:03:09 509

原创 jquery源码笔记1-匿名自执行函数

//格式(function(){})();//作用:匿名函数中的函数变量和函数在函数外部访问不到//那如果想要外部访问到怎么办?//在jquery源码中是这样做的:把要暴漏的变量或函数挂载到window对象上(function(){ var a = 10; function $(){ alert(a); } window.$ = $;})();$();

2016-10-30 14:20:09 462

转载 遍历Map的四种方式

原文地址:http://www.cnblogs.com/kristain/articles/2033566.htmlpublic static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "v

2016-10-26 19:52:11 2744

转载 java split()函数用法分析

原文地址:http://swiftlet.net/archives/709在java.lang包中有String.split()方法的原型是: public String[] split(String regex, int limit) split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。 需要注意是有

2016-10-26 19:48:16 1075

原创 json的取值方式

var json2 = { "1":"1", "2":"2", "name":"dqf"}//取值方式一、console.info("--->" + json2['1']);console.info("--->" + json2['name']);var x = 1 + "";var namex = "name";console.info("---->" + jso

2016-10-23 13:35:46 23005 2

jquery分页工具

简单的前台分页插件

2016-07-29

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

TA关注的人

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