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

单例模式(Singleton) Java实现

    单例模式的实现方式有很多种,在这里介绍最简单的两种。
    单例模式能够确保一个类只有一个实例(正常情况我们可以new出一个类的无数个实例),自行提供这个实例并向整个系统提供这个实例。下面介绍单例模式的实现方法:
    1. 单例模式有两种实现方式:一种是将类的构造法方法私有化,用一个私有的类变量instance保存类的实例,在加载类时,创建类的实例,并将实例赋给instance,再提供一个工友的静态方法getInstance用于获取类的唯一实例,该方法直接返回instance。另一种是将类的构造方法私有化,用一个私有的类的变量instance保存类的实例,到此为止都与第一种情况相同,但是在加载类时,将null赋给instance而不是创建类的实例,再提供一个类的工友的静态方法getInstance,用于获取类的唯一实例,该方法首先判断instance是否为null,如果为null,则创建实例对象,否则,直接返回instance。
    2. 两种方法的区别在于:前者在类被加载时,类的唯一实例就被创建出来了,后者在第一个调用getInstance()方法时,类的唯一实例才被创建,但需要在getInstance()方法的声明中使用synchronized关键字,保证某一时刻只有一个线程调用此方法,如果不使用synchronized关键字的话,就有可能出现有两个线程同时访问getInstance方法,如果此时instance恰好为null,则两个线程都会去创建这个类的实例,这就不符合单例模式的思想了。
    代码实现:首先建立一个文件TestSingleton.java,然后将下面的测试代码拷贝到文件中运行。
class OneSingleton {
 private static OneSingleton instance = new OneSingleton();
 private static int number = 0;
 private OneSingleton() {}
 public static OneSingleton getInstance() {
  return instance;
 }
 public synchronized int getNumber() {
  return number;
 }
 public synchronized void nextNumber() {
  number++;
 }
}
class TwoSingleton {
 private static TwoSingleton instance = null;
 private static int number = 0;
 private TwoSingleton() {}
 public static synchronized TwoSingleton getInstance() {
  if(instance == null) {
   instance = new


相关文档:

设计模式——抽象工厂 [java]

版权所有,转载注明出处!
转载请携带此信息:huangfox
-----------------------------------------------------------------
抽象工厂和工厂方法 刚开始很容易混淆,至少我是这样的!
不过他们产生的缘由来看,还是可以好好区分的。
1.工厂方法:是为了避免应用直接实例类层次结构中的具体类,提供一个方法根据运行情 ......

java 线程组


线程组
在Java中每一个线程都归属于某个线程组管理的一员,例如在主函数main()主工作流程中产生一个线程,则产生的线程属于main这个线程组管理的一员。简单地说,线程组就是由线程组成的管理线程的类,这个类是java.lang.ThreadGroup类。
可以通过使用如下代码获取此线程所属线程组的名称。
Thread.currentThread().ge ......

关于监听器(Java)

 
组件
功能
Com.guipei.listener. SessionListener
监听组件,完成HttpSessionContext的功能
index.jsp
实现用户登陆,创建新的session
logout.jsp
实现用户退出,用户自动删除session
display.jsp
显示用户登陆信息,在用户登陆后自动转入
session.jsp
列出当前所有的session
kill.jsp
杀掉指定的会话 ......

JAVA:安全证书 公钥加密,私钥解密示例程序


import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import javax.crypto.Cipher;
// 公钥加密,私钥解密示例程序
public class A {
& ......

java使用JNI调用C++函数

网上有了很多这样的文章,不过感觉并不是很全,我都东找西找才最终把JAVA调用c++给搞定。
下面引用了很多网上已经有的的内容,我在这里只是整合一次,让以后的朋友少走网路。
多说无益,具体如下:
作者:mykoma
假设所有文件都放在d:\
Step 1:
写JAVA文件
例如程序testdll.java,内容为:   
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号