//单例饿汉模式 //优点:饿汉模式天生是线程安全的,使用时没有延迟。 //缺点:启动时即创建实例,启动慢,有可能造成资源浪费。 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; } }