下面为大家介绍两种常见的singleton模式,面试的时候有些也会问到,毕竟是比较流行的设计模式之一嘛!
1.
2.
<注>如果有多个Singleton对象同时被不同的类装入器装载,使用Singleton并不能达到Singleton的目的,如EJB(跨服务器,跨JVM的)。
1.
public class Singleton{
private Singleton(){}
private static Singleton instance=new Singleton();
public static Singleton getInstance(){
return instance;
}
}
2.
public class Singleton {
private static Singleton instance=null;
public static synchronized Singleton getInstance(){
if(instance=null){
instance=new Singleton();
}
return instance;
}
}
<注>如果有多个Singleton对象同时被不同的类装入器装载,使用Singleton并不能达到Singleton的目的,如EJB(跨服务器,跨JVM的)。