单例模式:顾名思义就一个实例对象,当在全局系统中只需要这个类的一个实例时,那么就可以设计成单例模式,对外提供一个公共的创建对象实例的方法
使用场景:多线程操作全局共享资源或操作同一个对象,节省对象创建时间
单例模式的实现:
一、饿汉式:类一加载对象就创建
public class Single1 {
private static Single1 s= new Single1();
private Single1(){
}
public Single1 getSingle1(){
return s;
}
}
二、懒汉式:类加载时不创建对象,再需要时才创建
public class Single2 {
private static Single2 s= null;;
private Single2(){}
public static Single2 getSingle2(){
if(s==null){
synchronized(Single2.class){
s=new Single2();
}
}
return s;
}
}