天天看點

php 懶漢式單例,單例模式:餓漢和懶漢

接下來就說下單例模式了,這個在實際應用還是比較常用的!

首先,單例分為懶漢式和餓漢式:

餓漢式:類加載的時候,建立對象。 是以類加載速度慢, 線程相對安全

懶漢式:類加載的時候,不會建立對象,調用時才會建立對象。是以類加載速度快,線程相對不安全,一般要配合synchronized使用。

廢話少說,下面是餓漢式:public class Single {

//餓漢式:

private static Single single=new Single();

public Single() {

}

public static Single getSingle(){

return single;

}

}

單例模式思路:

單例模式作用:保證了對象的唯一性

- 适用場景:

1.需要生成唯一序列的環境

2.需要頻繁執行個體化然後銷毀的對象。

3.建立對象時耗時過多或者耗資源過多,但又經常用到的對象。

4.友善資源互相通信的環境

懶漢式如下:public class Single2 {

//懶漢式:

private static Single2 single=null;

private Single2(){

}

public static Single2 getSingle(){

if(single==null){

synchronized (Single2.class){

single=new Single2();

}

}

return single;

}

}

最後咱們來談下,單例模式的優缺點:

優點:

缺點:

以上有寫的不對的地方,請及時通知部落客,以做修改!!!!