------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培训、期待与您交流! -------