//单例饿汉模式
//优点:饿汉模式天生是线程安全的,使用时没有延迟。
//缺点:启动时即创建实例,启动慢,有可能造成资源浪费。
public class SingleTonEH {
//定义对象实例并私有化
private static SingleTonEH instanceEh = new SingleTonEH();
//私有构造方法
private SingleTonEH(){}
//定义方法实例的static方法
public static SingleTonEH getSingleTonEH(){
return instanceEh;
}
}
//单例懒汉模式
//懒加载启动快,资源占用小,使用时才实例化。
public class SingleTonLH {
private static SingleTonLH instanceLh = null;
private SingleTonLH(){}
public static SingleTonLH getSingleTonLH(){
//判断实例是否为空
if(instanceLh ==null){
//线程同步
synchronized (SingleTonLH.class) {
if (instanceLh==null) {
instanceLh = new SingleTonLH();
}
}
}
return instanceLh;
}
}