網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

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

欄目: 職場就業 / 發佈於: / 人氣:2.74W

單例模式是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張

特別提示

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