自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路漫漫,水迢迢

八十一难拦路七十二变制敌

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

原创 Java设计模式——工厂方法模式(factory method)

工厂方法模式是类的创建模式,用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 相信很多人都做过导入导出功能,就拿导出功能来说。有这么一个需求:某一个系统需要支持对数据库中的员工薪资进行导出,并且支持多种格式如:HTML、Excel、PDF等,每种格式导出的结构有所不同,比如:财务跟其他人对导出薪资的HTML格式要求可能会不一样,因为财务可能需要特定的格式方便核算或其他用途。如果使

2015-03-31 21:21:15 1366

原创 Java设计模式——构造者模式(Builder)

建造模式是对象的创建模式。建造模式可以将一个产品的内部对象与产品的生产过程分割开啦,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 对象性质的构造: 有些情况下,一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址得到赋值之前,这个电子邮件不能发送。 有些情况下,

2015-03-29 18:15:33 3237

原创 Servlet线程安全问题

在servlet百科中我们可以看到这么一段说明:“在 Web 应用程序中,一个 Servlet 在一个时刻可能被多个用户同时访问。这时 Web 容器将为每个用户创建一个线程来执行 Servlet。如果 Servlet 不涉及共享资源的问题,不必关心多线程问题。但如果 Servlet 需要共享资源,需要保证 Servlet 是线程安全的”通过这段话我们可以看出servlet是单例的。 那么如何保证s

2015-03-28 15:43:44 978

原创 如何处理多人同时登录同一个账号以及如何统计在线人数和访问量?

话不多说直接贴代码public class SessionListener implements HttpSessionListener { // 保存session和username的映射 private static HashMap hUserName = new HashMap(); private int MaxSession; private int activ

2015-03-25 20:15:18 2850

原创 Java设计模式——职责链模式(Chain of Responsibility)

责任责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 责任链模式结构: 源码如下:public abstract class Handler { /**

2015-03-25 19:59:18 1338

原创 Java设计模式——享元模式(Flyweight)

Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 在JAVA语言中,String类型就是使用了享元模式。String对象是final类型,对象一旦创建就不可改变。在JAVA中字符串常量都是存在常量池中的,JAVA会确保一个字符串常量在常量池中只

2015-03-23 22:12:28 949

原创 Java设计模式——代理模式(Proxy)

代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 类图如下: 静态代码源码public abstract class Subjects { public abstract void operate();}public class RealSubjects extends Subjects { public void operat

2015-03-22 12:37:20 5923 1

原创 Myeclipse8.5如何安装反编译工具

一、下载反编译插件工具 (1)下载插件 JadClipse 下载地址:http://jadclipse.sourceforge.net/wiki/index.php/Main_Page 注意myeclipse8.5需要JadClipse 3.3 ,低于此版本,反编译会报错 这里是net.sf.jadclipse_3.3.0.jar (2)下载 X

2015-03-21 13:28:09 1872

原创 Java设计模式——调停者模式(Mediator)

调停者模式的意图是定义个对象,封装一组对象的交互,从而降低对象间的耦合度,避免了对象间显示的引用,并且可以独立的改变对象的行为。 过度耦合系统引入调停者 如果电脑没有主板 下面来看看调停者模式的UML类图: 代码实例 抽象同事类public abstract class Colleague { private Mediator mediator; public Co

2015-03-20 21:06:03 937

原创 Mysql循环游标并作为其中一个参数插入到另一个表中

-- 创建存储过程DDROP PROCEDURE IF exists init_budget_proc;CREATE PROCEDURE init_budget_proc()BEGIN DECLARE p_ou VARCHAR (64); -- 遍历数据结束标识 DECLARE done varchar(2); -- 创建游标 DECLARE ou_cur

2015-03-20 18:10:56 1333

原创 Mysql循环游标作为其中一个参数插入到另一个表

-- 创建存储过程DROP PROCEDURE IF exists init_budget_proc;CREATE PROCEDURE init_budget_proc()BEGIN DECLARE p_ou VARCHAR (64); -- 遍历数据结束标识 DECLARE done varchar(2); -- 创建游标 DECLARE ou_cur

2015-03-19 16:52:12 647

原创 Java设计模式——观察者模式(Observer)

观察者模式的意图是在多个对象之间定义一对多的关系,当一个对象的状态发生改变时,会通知依赖于它的对象,并根据新状态做出反应。 解决的问题: 将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。观察者就是解决这类的耦合关系的。 源码如下: 抽象主图或通知者public abs

2015-03-18 19:42:09 801

原创 Java设计模式——单例模式(Singleton)

单例模式的意图是为了确保一个类在整个JVM中有且仅有一个实例,并为他提供一个全局的访问点。 单例模式机制 怎么样才能阻止其他开发人员创建类的新实例? 可以创建唯一一个构造函数,并设置为私有。 单例和线程 多线程延迟初始化一个单例模式尽量避免多个线程同时初始化该单例对象。 假设一个线程发现该单例对象为null,接着第二个线程运行也发现该单例对象为null,然后两个线程都会对该单例对象进行初

2015-03-17 20:01:34 986

原创 Java设计模式——桥接模式(Bridge)

桥接模式的意图是将抽象和抽象方法的实现相互分离来实现解耦,以便二者相互独立的变化。 若要通过共同的接口控制多种机器,可以使用适配器模式,为每个控制器创建一个适配器类,每个适配器类都可以讲标准的接口调用转换为对现有控制器的调用。 常规抽象:桥接模式的一种方法 数据库驱动 如果用Jdbc连接,只需要用不同的Class.forName参数即可,剩下的都一样。是用oracle还是mysql,

2015-03-16 18:33:24 1088

转载 程序员技能层次模型

编程技能层次 编程技能层次,指的程序员设计和编写程序的能力。这是程序员的根本0段—非程序员: 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题。也就是说,还是门外汉,还不能称之为“程序员”。计算机在他面前还是一个神秘的黑匣子。1段—基础程序员: 学习过一段时间编程后,接到任务,可以编写程序完成任务。 编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出

2015-03-15 19:22:01 1829

原创 并发编程——线程安全性

可以在多个线程中调用,并且线程间不会出现额外的错误交互 当多个线程访问某个类时,不管运行环境采用何种调度方式或者线程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。 无状态对象一定是线程安全的:它既不包含任何域,也不包含任何对其他对象域的引用。 原子性 竞态条件 count++:读取—修改—写入 三步操作,并且其结果依赖于之前

2015-03-15 11:30:00 838

原创 Java设计模式——合成模式(Composite)

合成模式的意图是保证客户端调用单对象与组合对象的一致性 Component是抽象类,可以当做接口。 为何Composit类维持包含了Component对象的集合,而不是仅包含叶子对象 设计合成类用于维护合成对象的集合,使得合成对象既可以支持叶子对象又能支持组合对象。换言之,合成模式的设计使得我们能够将一种分组建模为另一种分组的集合。 例如: 我们可以将用户系统权限定义为特定权限的集合或

2015-03-15 11:24:49 1202

原创 Java设计模式——外观模式(门面模式)(Facade)

外观模式意图为子系统提供一个接口,方便使用 外观类、工具类和示例类 外观类可能全是静态方法 示例类展示如何使用类和子系统 示例类和外观类的区别: 1、示例类通常是单独运行的应用程序,而外观类不是 2、示例类包含了样例数据,外观类没有 3、外观类通常是可配的,示例类不是 4、外观类的意图是为了重用,示例类不是 5、外观类用在产品代码中,示例类不是 Java中外观类比较少,原因是

2015-03-14 20:44:03 1292

原创 Java字符串写入文件三种方式

1、使用FileWriterString str="hello world!"; FileWriter writer; try { writer = new FileWriter("E:/token.txt"); writer.write(str); writer.flush();

2015-03-14 10:52:54 40748

原创 Java设计模式——适配器模式(Adapter)

适配器模式的意图在于:使用不同的接口的类所提供的服务为客户端提供他所期望的接口。 接口适配(类的适配) 类图如下: Client类需要实现Interface_1中的requestMethod方法,但是也需要使用Client2中的usefulMethod方法,这时候要对Client2进行适配,满足客户端Client对象的需要,编写一个继承Clent2并且实现Interface_1的类,通过重

2015-03-14 10:43:19 1903 1

原创 适配器模式

适配器模式的意图在于:使用不同的接口的类所提供的服务为客户端提供他所期望的接口。接口适配(类的适配)Client类需要实现Interface_1中的requestMethod方法,但是也需要使用Client2中的usefulMethod方法,这时候要对Client2进行适配,满足客户端Client对象的需要,编写一个继承Clent2并且实现Interface_1的类,通过重写reque

2015-03-12 22:03:08 175

原创 java字符串写入文件的三种形式

1、使用FileWriterString str="hello world!";       FileWriter writer;       try {           writer = new FileWriter("E:/token.txt");           writer.write(str);         

2015-03-12 21:58:17 267

空空如也

空空如也

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

TA关注的人

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