java程式碼如何實現單例模式及例子

來源:酷知科普網 2.78W

單例模式是java軟體系統中應用最多的一種設計模式。

操作方法

(01)開啟eclipse,新建一個java專案,在src目錄下新建包test,然後新建類Singletonpackage test;public class Singleton {}

java程式碼如何實現單例模式及例子

(02)實現例模式的第一種形式:懶漢式,這是日常開發中用的最多的一種模式。這種模式在方法上加上synchronized關鍵字,避免了例項的重複建立。package test;public class Singleton {private static Singleton instance=null;public static synchronized Singleton getInstance(){if(instance==null){instance=new Singleton();}return instance;}private Singleton(){}}

java程式碼如何實現單例模式及例子 第2張

(03)實現例模式的第二種形式:餓漢式,這種模式用內部類實現,寫法比較簡單。package test;public class Singleton {private static final Singleton instance = new Singleton();private Singleton()//這裡提供了一個供外部訪問本class的靜態方法,可以直接訪問public static Singleton getInstance(){return instance;}}

java程式碼如何實現單例模式及例子 第3張

(04)實現例模式的第二種形式:雙重鎖式。這種模式把synchronized關鍵字移到了程式碼塊內,比懶漢式更適合在高併發應用中使用,效率效能更高。package test;public class Singleton {private static volatile Singleton instance=null;private Singleton()public static  Singleton getInstance(){if(instance==null){synchronized(s){if(instance==null){instance=new Singleton();}}}return instance;}}

java程式碼如何實現單例模式及例子 第4張

(05)單例模式的測試如下,先新增一個公共方法public void doSomething(){tln("singleton is doing something");}

java程式碼如何實現單例模式及例子 第5張

(06)單例模式的呼叫非常簡單,只需要呼叫類名+方法名即可。public static void main(String args[]){nstance()mething();}

java程式碼如何實現單例模式及例子 第6張

特別提示

根據系統的需求選擇適合你的系統程式碼

熱門標籤