建立模式之單列模式

2021-06-25 21:24:47 字數 1178 閱讀 9368

package com.djk.design.factory.singlen;

public class single

public static single getinstance()

}

這個單列是餓漢式的,一載入類的時候就初始化,優點是沒有執行緒安全的問題,但是缺點是如果類初始化做的東西比較多的話會浪費資源

package com.djk.design.factory.singlen;

public class single

public static single getinstance()

return single;

}}

這是懶漢式的單列。優點是類的初始化延時了 缺點是在多執行緒的壞境下可能會生成多個例項

package com.djk.design.factory.singlen;

public class single

public static synchronized single getinstance()

return single;

}}

這是針對懶漢式的單列執行緒不安全而出現的,優點是執行緒安全的缺點是效率低。

package com.djk.design.factory.singlen;

public class single

public static synchronized single getinstance()

}} return single;

}}

雙重檢查機制,缺點是在多執行緒的場景下會返回乙個初始化不完整的物件

package com.djk.design.factory.singlen;

public class single

private static class innerclass

public static synchronized single getinstance()

}

public object readresolve()

這個方法的作用是解決單列類實現序列化的時候反序列化防止生成多個物件用的

建立模式之工廠模式 一

工廠模式三兄弟 簡單工廠模式,工廠方法模式已經抽象工廠模式 簡單工廠模式 簡單工廠模式有乙個工廠類,專門成產品,主要實現如下 package com.djk.design.factory.factory public class client public static void productsa...

建立模式之工廠模式二

上面已經介紹了簡單工廠,也介紹了簡單工廠的缺點,接下來介紹的是工廠方法 package com.djk.design.factory.factorymethod public class client public static void say abstractfactory factory pr...

設計模式之建立模式Builder

1.概念 將乙個複雜物件的構造與它的表示分離,使同樣的構建 過程可以建立不同的表示,這樣的設計模式被稱為建造者模式。關鍵點1 builder 為建立乙個產品物件的各個部件指定抽象介面。2 concretebuilder 實現builder的介面以構造和裝配該產品的各個部件,定義並明確它所建立的表示,...