易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中常用设计模式总结


在Java中有23中设计模式,下面只对部分常用的设计模式介绍一下:
1.单例模式(有的书上说叫单态模式其实都一样)
该模式主要目的是使内存中保持1个对象。看下面的例子:
package org.sp.singleton;
//方法一
public class Singleton {
//将自身的实例对象设置为一个属性,并加上Static和final修饰符
private static final Singleton instance = new Singleton();
//将构造方法设置成私有形式
private Singleton() {
}
//通过一个静态方法向外界提供这个类的实例
public static Singleton getInstance() {
   return instance;
}
}
//方法二
class Singleton2 {
private static Singleton2 instance2 = null;
public static synchronized Singleton2 getInstance() {
   if (instance2 == null)
    instance2 = new Singleton2();
   return instance2;
}
}
注:这二个方法实现了一样的功能,但个人推荐采用第一种方法。
2.工厂模式
该模式主要功能是统一提供实例对象的引用。看下面的例子:
public class Factory{
public ClassesDao getClassesDao(){
   ClassesDao cd = new ClassesDaoImpl();
   return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
   System.out.println("A班");
}
}
class test
{
public static void main(String[] args){
   Factory f = new Factory();
   f.getClassesDao().getClassesName();
}
}
这个是最简单的例子了,就是通过工厂方法通过接口获取对象的引用
3.建造模式
该模式其实就是说,一个对象的组成可能有很多其他的对象一起组成的,比如说,一个对象的实现非常复杂,有很多的属性,而这些属性又是其他对象的引用,可能这些对象的引用又包括很多的对象引用。封装这些复杂性,就可以使用建造模式。
具体看看下面的例子:
4.门面模式
这个模式个人感觉像是Service层的一个翻版。比如Dao我们定义了很多持久化方法,我们通过Service层将Dao的原子方法组成业务逻辑,再通过方法向上层提供服务。门面模式道理其实是一样的。
具体看看这个例子:
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements Classe


相关文档:

java实现zip文件压缩,解压

这几天看了网上一些前辈的代码,自己对Java实现zip文件的解压,压缩有一点理解,故写下留着以后参考。
为了处理中文乱码问题,使用ant.jar包。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
......

一篇不错的讲解Java异常的文章


本文由博主从http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html转载;原文出处,博主也不知道,希望对大家有点帮助......
六种异常处理的陋习
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 
1 Output ......

Java 连接 SQL Server 2000示例代码

你的SQL Server 2000必须打上SP3的补,然后安装Microsoft的JDBC驱动,将以下三个jar包复制到WebContent\WEB-INF\lib
msbase.jar
mssqlserver.jar
msutil.jar
下面是测试代码,没有报错数据库就能正常连接
 public class DbcTest {
/**
* @param args
*/
public static void main(String[] args) {
Str ......

java基础

1、作用域public,private,protected,以及不写时的区别
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
不写时默认为friendly √ √ × ×
private √ × × ×
2、ArrayList和Vect ......

JAVA存储过程和调用

代码内容
create or replace procedure batchUpdateCustomer(p_age in number) as
begin
update CUSTOMERS set AGE=AGE+1 where AGE>p_age;
end;
以上存储过程有一个参数p_age,代表客户的年龄,应用程序可按照以下方式调用存储过程:
代码内容
tx = session.beginTransaction();
Connection con=session.c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号