黑马程序员-23种设计模式之单例模式

来源:互联网 发布:侯喜王歌 知乎 编辑:程序博客网 时间:2024/06/05 14:13

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

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Java中有23种设计模式,是</span><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px;">为了可重用代码、让代码更容易被他人理解、保证代码可靠性。经常被用到的有单例模式和工厂模式。</span>

单例模式:

1)饿汉式:

public class Singleton{private static Singleton s = new Singleton();private Singleton(){}public static Singleton getInstance(){return s;}}


2)懒汉式:

public class Singleton{private static Singleton s = null;private Singleton(){}public static synchronized Singleton getInstance(){if(s == null)s = new Singleton();return s;}}

区别:

饿汉式不需要关注多线程问题,写法简单明了。但是它是加载类时创建实例,如果是一个工厂模式,缓存了很多实例,那么就要考虑效率问题,因为这个类一加载则把所有实例不管用不用一块创建。

懒汉式的优点是延时加载,缺点是应该用同步,使用起来比较麻烦。

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

0 0