摘要: Chain of Responsibility定义:Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request。也就是说,来了一个请求,A类先处理,如果没有处理,就传递到... 阅读全文
posted @ 2015-02-27 17:25 Coda 阅读(2692) 评论(0) 推荐(0) 编辑
摘要: Template模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。其实Java的抽象类本来就是Template模式,因此使用很普遍。而且很容易理解和使用,我们直接以示例开始:public abstract class Benchmark{ /** * 下面操作是我们希望在子类中... 阅读全文
posted @ 2015-02-25 06:59 Coda 阅读(3810) 评论(0) 推荐(0) 编辑
摘要: 上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你的课要是讲的好,同学又怎么会不来听课呢,殊不知:“误人子弟,乃是犯罪!”啊。好了,那么我们现在来看老师这个点名过程是如何实现吧:1、老规矩,我们先定义老师(Te... 阅读全文
posted @ 2015-02-24 08:41 Coda 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 外观模式(Facade)的定义:为子系统中的一组接口提供一个一致的界面。Facade一个典型应用就是数据库JDBC的应用,如下例对数据库的操作:public class DBCompare { Connection conn = null; PreparedStatement prep = null... 阅读全文
posted @ 2015-02-23 09:24 Coda 阅读(1879) 评论(0) 推荐(0) 编辑
摘要: 理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣。Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层... 阅读全文
posted @ 2015-02-22 08:47 Coda 阅读(2605) 评论(1) 推荐(0) 编辑
摘要: 适配器模式定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份。为何使用适配器模式我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口... 阅读全文
posted @ 2015-02-21 08:45 Coda 阅读(1650) 评论(0) 推荐(0) 编辑
摘要: Composite定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(... 阅读全文
posted @ 2015-02-20 08:19 Coda 阅读(1390) 评论(0) 推荐(1) 编辑
摘要: Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee。这两种实体在Decorator模式中是必须的。Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆。使用Decorato... 阅读全文
posted @ 2015-02-19 08:47 Coda 阅读(3889) 评论(2) 推荐(2) 编辑
摘要: Bridge定义:将抽象和行为划分开来,各自独立,但能动态的结合。为什么使用桥模式通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以下两种:这多个具体实现之间恰好是并列的,如前面举例,打桩,有两个concrete class:方形桩和圆... 阅读全文
posted @ 2015-02-13 07:56 Coda 阅读(2578) 评论(4) 推荐(1) 编辑
摘要: Flyweight定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。为什么使用共享模式/享元模式面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那... 阅读全文
posted @ 2015-02-12 09:13 Coda 阅读(1718) 评论(0) 推荐(2) 编辑
摘要: Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建... 阅读全文
posted @ 2015-02-11 11:42 Coda 阅读(2402) 评论(0) 推荐(0) 编辑
摘要: Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反... 阅读全文
posted @ 2015-02-10 09:24 Coda 阅读(8717) 评论(0) 推荐(0) 编辑
摘要: 定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。还有,singleton能够被状态化;这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一... 阅读全文
posted @ 2015-02-09 08:01 Coda 阅读(1791) 评论(2) 推荐(0) 编辑
摘要: 工厂模式定义:提供创建对象的接口。为何使用工厂模式工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() ... 阅读全文
posted @ 2015-02-08 09:18 Coda 阅读(5701) 评论(0) 推荐(0) 编辑
摘要: JAVA反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造... 阅读全文
posted @ 2015-02-07 08:08 Coda 阅读(699) 评论(0) 推荐(0) 编辑
摘要: socket阻塞与非阻塞,同步与异步1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能... 阅读全文
posted @ 2015-02-06 08:03 Coda 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 今天再测试Socket编程时,无法连接外网。公司用的是Http的代理。上网搜索也没看太懂,所以花了大量时间来学习。看了HTTP和TCP协议的关系好,才有所明白。现在能通过Socket使用HTTP代理了,结果很简单,过程却好难。1. 先简要说说HTTP和TCP(具体内容自行Google,资料很多很全)... 阅读全文
posted @ 2015-02-05 10:16 Coda 阅读(792) 评论(0) 推荐(0) 编辑
摘要: index.jsp ----------------------------- Place your content here here is index jsp get header info a.jsp ------------------------------ a.jsp页面... 阅读全文
posted @ 2015-02-04 10:03 Coda 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 首先我们先了解一下问题的原因。一般情况在在每个JSP页的头部都有这样一条语句: 这条语句决定了此页面使用GB2312编码形式,而在数据库中一般用的是iso-8859-1字符集存储数据. 而Java程序在处理字符时默认采用统一的ISO-8859-1字符集(体现Java国际化思想),所以在添加数据时... 阅读全文
posted @ 2015-02-03 10:37 Coda 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 在这里,我们先说说JSP/Servlet中的几个编码的作用。 在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8"、contentType="text/html;charset=UTF-8request.setCharacterEncoding("U... 阅读全文
posted @ 2015-02-02 10:41 Coda 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 1.java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。2.java.util.Collections 是一个包... 阅读全文
posted @ 2015-02-01 10:36 Coda 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 输出流类似于一根管道,输出的时候先放到管道里,然后管道满了存到介质上(硬盘或其他地方),当我们输出完后管道里面可能还有剩余,就用flush()清空管道即全部存到介质上。Java默认的缓冲区大小一般是8kb,就是说只有每填满8kb才会提交一次,当少于这个值时就不会提交,所以最后为防止有未提交数据就fl... 阅读全文
posted @ 2015-01-31 08:47 Coda 阅读(1514) 评论(0) 推荐(0) 编辑
摘要: 两个接口都是继承自Collection.List(inteface)次序是List的最重要特点,它确保维护元素特定的顺序.--ArrayList 允许对元素快速随机访问.--LinkedList 对顺序访问进行优化,向List中间插入与移除的开销并不大,具有addFrist(),addLast(),... 阅读全文
posted @ 2015-01-30 15:38 Coda 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 今天调试了很久,重装tomcat都没用,后来发现是xml servlet的url-pattern的配置少写一个"/",添加后启动即可。org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[C... 阅读全文
posted @ 2015-01-29 17:02 Coda 阅读(9663) 评论(0) 推荐(1) 编辑
摘要: 深入Java关键字instanceofinstanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例。举个例子:public interface IObject { } public class Foo implements IObject{ } publi... 阅读全文
posted @ 2015-01-29 08:47 Coda 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Java中equals和==的区别 值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是... 阅读全文
posted @ 2015-01-28 08:04 Coda 阅读(627) 评论(0) 推荐(0) 编辑
摘要: servlet规范提供了一组标准的servlet api。servlet容器就是servlet规范的实现。1、In Action(1)写一个类继承HttpServlet;(2)重写其中的方法。1、TIPS(1)Servlet生命周期每个Servlet都有自己的生命周期。Servlet的生命周期由we... 阅读全文
posted @ 2015-01-27 08:33 Coda 阅读(877) 评论(0) 推荐(0) 编辑
摘要: CheckLoginInterceptor.java---拦截器具体实现类:Java代码packagecom.sunhoo.hcpms.struts2.action.interceptors;importjava.util.Map;importjavax.servlet.http.HttpServl... 阅读全文
posted @ 2015-01-26 09:11 Coda 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1, 当Action设置了某个属性后,Struts将这些属性封装一个叫做Struts.valueStack的属性里。获取valueStack对象: ValueStack vs = (ValueStack) request.getAttribute("struts.valueStack"); 调用Va... 阅读全文
posted @ 2015-01-25 08:29 Coda 阅读(401) 评论(0) 推荐(0) 编辑
摘要: Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦。线程间同步、数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误。另外,应用逻辑和线程逻辑纠缠在一起,会导致程序的逻辑结构混乱,难以复用和维护。本文试图给出一个解决这个问题的方案,通过构建一个... 阅读全文
posted @ 2015-01-24 22:08 Coda 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 1.MINA框架简介MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发... 阅读全文
posted @ 2015-01-23 09:13 Coda 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确... 阅读全文
posted @ 2015-01-22 09:20 Coda 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 原理AOP(Aspect Oriented Programming),也就是面向方面编程的技术。AOP基于IoC基础,是对OOP的有益补充。 AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的方面Crosscutting ente... 阅读全文
posted @ 2015-01-21 08:00 Coda 阅读(625) 评论(0) 推荐(0) 编辑
摘要: Java—SSH(MVC)JAVA三大框架的各自作用hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就是Model;struts提供的丰富标签是用于显示层View;同时struts也充当了实现Control的... 阅读全文
posted @ 2015-01-20 07:39 Coda 阅读(1733) 评论(0) 推荐(0) 编辑
摘要: Q.对于依赖倒置原则(Dependency Inversion Principle,DIP),依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)容器,你是怎么理解的?A.依赖倒置原则(Dependency Inversion Pr... 阅读全文
posted @ 2015-01-19 08:10 Coda 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 一、数据源的由来JDBC操作主要由以下几步组成:(1)Class.forName();(2)Connection con = DriverManager.getConnection();(3)PreparedStatement stat = con.prepareStatement(sql);(4)... 阅读全文
posted @ 2015-01-18 12:03 Coda 阅读(391) 评论(0) 推荐(0) 编辑
摘要: //Dao类中实现了list集合和pagetotal方法package zjf.strhib.Dao;import java.util.ArrayList;import java.util.List;import org.hibernate.Session;import org.hibernate.... 阅读全文
posted @ 2015-01-17 11:02 Coda 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 第一章Hibernate与MyBatisHibernate是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。Mybatis是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis参考资料官网:http://www.my... 阅读全文
posted @ 2015-01-16 07:39 Coda 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。今天,螃蟹在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念,才能在工作学习中运用到“无形”。Spring作为业界的经典框架,无论是在架构设计方面... 阅读全文
posted @ 2015-01-15 07:50 Coda 阅读(1054) 评论(1) 推荐(0) 编辑
摘要: 尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是:资源利用率更好程序设计在某些情况下更简单程序响应更快资源利用率更好想象一下,一个应用程序需要从本地文件系统中读取和处理文件的情景。比方说,从磁盘读取一个文件需要5秒,处理一个文件需要2秒。处理两个文件则需要:5秒读取文件A2秒处理文件A... 阅读全文
posted @ 2015-01-14 21:39 Coda 阅读(417) 评论(0) 推荐(0) 编辑