自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模板方法模式

模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。这个模板是用来创建一个算法的模板。模板就是一个方法。这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现。 模板方法被声明为final,避免子类改变这个算法的顺序。在这个模板方法中,算法内的每个步骤都被一个方法代表了,某些方法(通用部

2017-05-30 15:49:44 202

原创 servlet学习(一)

Java Servlet(Java服务器小程序)是一个基于java技术的Web组件,运行在服务器端,由servlet容器所管理,用于生成动态的内容。Servlet容器也称Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务。Servlet不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法,Servlet容器在Ser

2017-05-30 14:09:30 512

原创 适配器模式与外观模式

适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。如果目标接口发生改变,适配器可以将改变的部分封装起来,客户就不必为了应对不同的接口而每次跟着修改。 客户通过目标接口调用适配器的方法对适配器发出请求。 适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口。 (客户表面上看到的是目标接口,实际上通过适配器,在调用目标接口的方法时,将实际的所有

2017-05-21 14:10:44 220

原创 命令模式

命令模式将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也可支持撤销的操作。 命令模式可将”动作的请求者”从”动作的执行者”对象中解耦。 需求实例:遥控器控制点灯的开关。 1、创建一个命令 客户负责创建命令对象(开灯)。让所有的命令对象实现相同的包含一个方法的接口。public interface Command { public void exe

2017-05-20 15:52:05 163

原创 Quartz的使用(二)

SimpleTrigger 可以满足的调度需求是:在具体的时间点执行一次,或者在具体的时间点执行,并且以指定的间隔重复执行若干次。指定从某一个时间开始,以一定的时间间隔(单位是毫秒、秒、分、时)执行的任务。它的属性: 1、repeatInterval 重复间隔 2、repeatCount 重复次数。实际执行次数是 repeatCount+1。因为在startTime的时候一定会执行一次。重复次

2017-05-20 13:27:29 2033

原创 Quartz的使用(一)

Quartz API核心接口有: 1、Scheduler – 与scheduler交互的主要API; 2、Job – 通过scheduler执行任务,你的任务类需要实现的接口; 3、JobDetail – 定义Job的实例; 4、Trigger – 触发Job的执行; 5、JobBuilder – 定义和创建JobDetail实例的接口 6、TriggerBuilder – 定义和创建

2017-05-16 20:22:00 565

原创 单件模式

单件模式确保一个类只有一个实例,并提供一个全局访问点。 把某个类设计成自己管理的一个单独实例,同时也避免其他类再自行产生实例。要想取得单件实例,通过单件类是唯一的途径。一个经典的单件模式(延迟实例化)public class Singleton { private static Singleton uniqueSingleton; //申明私有的构造器 private Si

2017-05-14 14:39:19 298

原创 工厂模式---抽象工厂模式

抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体的类。抽象工厂运行客户使用抽象的接口来创建一组相关的产品,而不需要知道或关心实际产出的具体产品是什么,这样客户就从具体的产品中被解耦。 抽象工厂的任务是定义一个负责创建一组产品的接口。这个接口内的每个方法都负责创建一个具体产品。设计原则:依赖抽象,不要依赖具体类需求实例:不同的披萨加盟店利用本地区的原料工厂生成符合本地

2017-05-14 12:49:38 241

原创 log4j使用

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。 1、日志信息的优先级(level)值可以是: OFF(关闭)FATAL(致命的) ERROR(错误)WARN(警告) INFO(信息)DEBUG (调试) ALL(所有)。Log4j建议只使用四个级别,优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度; 如

2017-05-12 18:56:53 160

原创 Executors类执行多线程

JDK1.5中提供Executors工厂类来产生连接池,该工厂类中包含如下的几个静态工程方法来创建连接池:1、public static ExecutorService newFixedThreadPool(int nThreads):创建一个可重用的、具有固定线程数的线程池。2、public static ExecutorService newSingleThreadExecutor():创建一个

2017-05-09 20:36:12 459

原创 工厂模式---工厂方法模式

一、简单工厂 简单工厂并不是一种设计模式。更像是一种编程习惯。 需求实例:创建一个披萨订单系统,根据不同的口味创建不同的披萨。 1、定义一个披萨商店//披萨商店public class PizzaStore { //简单披萨工厂 SimplePizzaFactory factory; public PizzaStore(SimplePizzaFactory fac

2017-05-07 19:15:46 233

原创 装饰者模式

装饰者模式动态地将责任附加到对象上。 ConcreteComponent是被装饰者,它继承自Component。 Decorator是装饰者共同实现的接口或抽象类。也是继承自Component。它有一个Component组件(引用),用于保存某个具体的装饰者。 ConcreteDecoratorA与ConcreteDecoratorB都是具体装饰者实现类。可以发现: 1、装饰者和被装饰者

2017-05-07 14:23:09 163

原创 Tomcat嵌入式启动

1、导入jar包 <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>8.5.13</version> </dependency> <!--主要获取配置属性信息--> <d

2017-05-06 18:48:34 3446

原创 观察者模式

观察者模式定义了对象之间的一对多依赖,当一个对象改变状态,它的所有依赖者都会收到通知并自动更新。 主题和观察者定义了一对多的关系。观察者依赖于此主题,只要主题状态一有变化。观察者就会被通知。 利用观察者模式,主题是具有状态的对象,是真正拥有数据的对象,并且可以控制这些状态。另一方面,观察者使用这些状态,虽然这些状态并不属于他们。设计原则:保证交互对象之间的松耦合,将彼此依赖降到最低。需求实例

2017-05-06 17:47:14 349

原创 java基础学习(12)容器-2

填充容器public static void main(String[] args) { //复制相同的对象传递给List构造器 List<String> strList=new ArrayList<String>(Collections.nCopies(4,"Hello")); System.out.println(strList);

2017-05-06 10:39:08 145

原创 在github上托管项目

1、在github上申请一个账号 2、新建一个项目,点击上方 “+”号,选择New repository 3、新建一个项目,填写相关信息 4、备用地址,后面上传项目要用到 5、将本地项目放到新建的仓库中: 5.1、首先要进入到项目里面: 5.2、利用git执行初始化操作,形成一个工作区: 6、将工作区的文件都添加到暂存区 7、执行初次提交 8、执行推送到github上的操

2017-05-02 22:42:40 607

原创 策略模式

策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。利用继承,会导致的一些问题: 1、代码在多个子类中重复 2、运行时的行为不容易改变 3、很难知道所有对象的全部行为 4、改变会牵一发而动全身,造成其他对象不想要的改变但是如果将变化的行为使用接口,每个对象实现该接口,造成代码无法复用,耦合性较高,修改起来,代价较高,不方便维护。设计原则1:找出

2017-05-02 21:40:35 185

空空如也

空空如也

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

TA关注的人

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