单例设计模式
单例设计模式指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
两种实现方式:
1.饿汉式
2.懒汉式
/**
*
* 单例设计模式
*
*/
public class SingletonDemo {
public static void main(String[] args){
Singleton1 s=Singleton1.getInstance();
s.show();
Singleton1 s1=Singleton1.getInstance();
System.out.println(s==s1);
Singleton2 s2=Singleton2.getInstance();
s2.show();
Singleton2 s3=Singleton2.getInstance();
System.out.println(s2==s3);
}
}//饿汉式
public class Singleton1 {
//定义一个本类对象并实例化
private static Singleton1 s=new Singleton1();
//构造方法私有化
private Singleton1(){};
public static Singleton1 getInstance(){
return s;
}
public void show(){
System.out.println("饿汉式单例模式");
}
}//懒汉式(多线程访问时会有安全问题)
public class Singleton2 {
//定义一个本类对象
private static Singleton2 s=null;
//构造方法私有化
private Singleton2(){};
public static Singleton2 getInstance(){
if(s==null){
s=new Singleton2();
}
return s;
}
public void show(){
System.out.println("懒汉式单例模式");
}
}原文:http://12170190.blog.51cto.com/12160190/1876886