Java_设计模式_单例设计模式(饿汉式和懒汉式)

来源:互联网 发布:多盈软件骗局 编辑:程序博客网 时间:2024/06/08 08:43
本博文为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/8913678

注:开发常用饿汉式,因为饿汉式简单安全,懒汉式多线程的时候容易发生问题!

1.饿汉式

    一加载进内存就创建好了对象

2.懒汉式

    类加载进内存的时候,对象还没有存在,只有调用方法时才创建,注意安全问题

/*单例设计模式-饿汉式类一加载进内存就创建好了对象*/class Single{private Single(){}private static final Single s = new Single();//s在Single类加载方法区时,静态就已经在堆中new了一个实体对象,返回地址给spublic static Single getInstance()//静态成员初始化在类加载完成{return s;}}
/*单例设计模式-懒汉式类加载进内存的时候,对象还没有存在,只有调用方法时才创建*/class Single{private Single(){}private static Single s = null;//先不在堆中创建对象,在调用方法时创建public static Single getInstance(){if(s == null)//不使用该语句,也可以满足同步,但是省略后,效率就会降低{synchronized(Single.class)//(锁)类名.class {if(s == null)//注意同步问题s = new Single();}}return s;}}

原创粉丝点击