java单例模式之线程安全懒汉饿汉模式

版权声明:有不足之处欢迎指出,欢迎交流 https://blog.csdn.net/qq_33594101/article/details/80322166

一:饿汉模式

public Simple(){
     private static Single s=new Single();        
     private Single(){

     }  
     public static Simple getSimple(){
         return s;
     } 

}

二:懒汉模式

class Single1 {
    private static volatile Single1 s = null;//被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象

    public Single1() {

    }
       //同步函数的demo
    public static synchronized Single1 getInstance() {
        if (s == null)
            s = new Single1();
        return s;
    }
    //同步代码快的demo加锁,安全高效
    public static Single1 getInStanceBlock(){
        if(s==null)
            synchronized (Single1.class) {
                if(s==null)
                    s = new Single1();
            }

        return s;

    }
}

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭