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

java设计模式学习1--Singleton Pattern

java设计模式学习1--Singleton Pattern
  前些天摆弄java,参考一些资料写了个数据库连接池,对里面只产生一个实例的那种做法深表佩服,今天中午又听到别人在说设计模式,受不了了,就上网Down了点资料来。
  一来就看到了Singleton模式,一看,呀,不就是那个连接池里用的方法么?!噢,原来如此。
  Singleton 是一种创建性模型,它用来确保只产生一个实例,并提供一个访问它的全局访问点。
  为了实现 Singleton 模式,我们需要一个静态的变量,能够在不创建对象的情况下记忆是否已经产生过实例了。静态变量或静态方法都可以在不产生具体实例的情况下直接调用,这样的变量或方法不会因为类的实例化而有所改变。
  实现 Singleton 模式的办法通常有三种:
  1.用静态方法实现 Singleton;
  2.以静态变量为标志实现 Singleton;
  3.用注册器机制来创建 Singleton。
  对于上面3种方法,我觉得第一种很好用,写的连接池用了第一种和第三种方法。用第一种方法使得怎么取都是那一个连接池,用第三种方法使得只存在那一个连接池。
  第一种方法具体实现为:
  声明构造函数为 private,防止通过除由我们提供的方法之外的任意方式来创建一个实例,如果不把构造函数声明为private,编译器就会自作聪明的自动同步一个默认的friendly构造器。下面是摘抄的一个例子:
  public class Singleton
  {
  private static Singleton s;
  private Singleton()
  {
  };
  
  public static Singleton getInstance()
  {
  if (s == null)
  s = new Singleton();
  return s;
  }
  }
  // 测试类
  class singletonTest
  {
  public static void main(String[] args)
  {
  Singleton s1 = Singleton.getInstance();
  Singleton s2 = Singleton.getInstance();
  if (s1==s2)
  System.out.println
  ("s1 is the same instance with s2");
  else
  System.out.println
  ("s1 is not the same instance with s2");
  }
  }
  
  singletonTest运行结果是:
  
  s1 is the same instance with s2
  
  这证明我们只创建了一个实例,再怎么取都是那个实例,很简单也很实用。
  对于第二种实现方法,在类中加入一个静态变量做为标志,每次都在构造函数里进行检察。
  下面是我写的一个例子:
  public c


相关文档:

一个简单java小程序打包成EXE运行文件

在博客园上看到这样的代码,把它打包成一个exe文件
public class Test
{
    public static void main(String[] args)
    {
        String str="C:\\Program Files\\Tencent\\TM2009\\Bin\\TM.exe";
        ......

Java手册中java.util.Random的描述,随机数产生算法


java.util
类 Random
java.lang.Object

java.util.Random
所有已实现的接口:

Serializable
直接已知子类:

SecureRandom
public class Random
extends Object
implements Serializable
此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式对其进行修改(请参阅 Donald Knuth 的 ......

excel java 实例

POIFSFileSystem fs=new POIFSFileSystem(new   FileInputStream(cfname));  
                 HSSFWorkbook   wb   =   new   HSSFWorkbook(fs);  
  ......

java实现验证码

java验证码的实现(一)
收藏



1.ImageServlet类的实现:
package com.mobile.control;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOExcep ......

java生成数字证书方法

Java 中生成数字证书也很简单的。
1、创建证书
Java 中的 keytool.exe (位于 JDKBin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号