黑马程序员-单例设计(懒汉式)

来源:互联网 发布:外国的知乎 编辑:程序博客网 时间:2024/06/07 13:26

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



  第5题:编写一个延迟加载的单例设计模式。
  
  思路:1.类进内存对象还没有存在,只有调用方法时才建立对象,对象是方法被调用时才初始化,也叫做对象的延时加载
              2.单例设计模式分两种,一种是懒汉式,一种是饿汉式。其中懒汉式就是延迟加载的单例设计模式
              3.懒汉式会出现线程安全问题,如果想解决可以进行双重判断
      4.两种单例设计模式的区别?
第一种(饿汉式):对象随着类的加载而创建
第二种(懒汉式):需要使用的时候,再创造对象,以后使用的是同一个对象。
使用场合:
工作的时候: 第一种
面试的时候: 第二种
原因: 第二种,会出现线程安全问题

下面是详细代码:


class Single{
private static Single s = null;
    private Single(){}//构造函数私有化,防止其他类创建该类对象
    //提供一个public方法,对外访问
    public static Single getInstance(){
    //判断
    if(s==null)
    s = new Single();
            return s;
        }
}


public class Test_05 {
public static void main(String[] args) {
Single s1=Single.getInstance();
Single s2=Single.getInstance();
System.out.println(s1==s2);
}
}

0 0
原创粉丝点击