在程序运行的生命周期时,只保持建立一个对象(懒汉式)
特点:高并发的情况下,线程非安全,需要时才能创建
public class SingleInstanse {
//私有静态变量,生命周期和类一样,类加载后没有退出,那么这个类永远存在,所有singleInstanse 一旦创建就会常驻内存
private static SingleInstanse singleInstanse;
//私有的构造器,只能在当前类中调用
private SingleInstanse(){
}
public static SingleInstanse getInstanse(){
if (singleInstanse==null) {
singleInstanse=new SingleInstanse();
}
return singleInstanse;
}
}
饿汉式单例
线程安全,类创建 就创建对象,就开辟内存,效率相对前面一种差些
public class SingleTwoInstanse {
private static final SingleTwoInstanse SINGLE_TWO_INSTANSE=new SingleTwoInstanse();
private SingleTwoInstanse(){
}
public static SingleTwoInstanse getInstanse(){
return SINGLE_TWO_INSTANSE;
}