QM.C

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
//单例饿汉模式
//优点:饿汉模式天生是线程安全的,使用时没有延迟。
//缺点:启动时即创建实例,启动慢,有可能造成资源浪费。
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;
    }

}

 

posted on 2019-05-09 19:19  QM.C  阅读(132)  评论(0编辑  收藏  举报