标签:
单例模式通常用于保证系统中一个类只有一个单例。
单例模式分为三种:懒汉式、饿汉式、双重锁模式
例1:懒汉式
public class Singleton{
//1.构造方法私有化
private Singleton(){
}
//2.声明私有化实例
private static Singleton singleton = null;
//3.提供对外的公开的方法
public static Singleton getSingleton(){
if(singleton==null){
singleton = new Singleton();
//return singleton;
}
return singleton;
}
}
例2:饿汉式
public class Singleton{
//1.构造方法私有化
priavte Singleton(){
}
//2.声明类的实例
private static Singleton singleton = new Singleton();
//3.创建公开的方法
public static Singleton getSingleton(){
return singleton;
}
}
例3:双重锁模式
public class Singleton {
//1.构造方法私有化
private Singleton(){
}
//2.声明类的实例
private static Singleton singleton = null;
//3.创建公开的方法
public static Singleton getSingleton(){
synchronized(Singleton.class){
if(singleton==null){
singleton = new Singleton();
}
}
return singleton;
}
}
标签:
原文地址:http://www.cnblogs.com/qadyyj/p/5631961.html