七、单例设计模式
1、系统结构图(xmind)
2、tips
——1.设计模式的概念
解决某一问题最行之有效的方法。java中共有23种设计模式。
——2.单例设计模式
用代码实现单例设计模式需要做三部:
1、将构造函数初始化。
例:private Single(){}
2、在类中创建一个本类对象。
例:private static Single s= newSingle();
3、提供一个访问方法可以获取到该对象。
例:public static Single getInstance()
{
returns;
}
——1、饿汉式
饿汉式也就是刚三部中的示例语句。它的特点是先初始化对象。如:Single类一进内存,就已经创建好了对象。在实际开发中,出于安全考虑,建议使用饿汉式。
代码如下:
//先初始化对象。成为饿汉式
class Single
{
private static Single s = new Single();
private Single (){}
public static Single getInstance()
{
return s;
}
}
——2、懒汉式
懒汉式的特点对象是方法被调用时,才初始化,这也叫对象的延时加载。如:在以下完整代码中,Single类进内存,对象还没有存在,只有调用了getInstance()方法时,才创建对象。
代码如下:
class Single
{
private static Single s = null;
private Single(){};
public static Single getInstance()
{
if (s==null)
{
synchronized(Single.class)//多线程
{
if(s==null)
s = new Single();
}
}
return s;
}
}