保证在java程序中,一个class类只有一个实例存在
节省内存,有利于垃圾回收
第一种形式:示例代码
public class Singleton{
//私有的构造器
private Singleton(){}
private static Singleton instance=new Singleton();
//提供外部访问的方法:
public static Singleton getInstance(){return instance;
}
}
第二种形式:
示例代码
public class Singleton{
private static Singleton instance=null;
public static synchronized Singleton getInstance(){
if(null==instance){instance=new Singleton();
}
return instance;
}
}
注意事项: 在ejb这样的分布式系统中,由于是EJB 是跨服务,跨JVM的,所以单例模式应该少用或不用.