您的位置:首页 > 职场人生

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

2015-05-29 17:06 330 查看
------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培训、期待与您交流! -------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: