Java Singleton Pattern

在Java等OOP (Object Orientation Programming) Language 中,在使用Object時,必須使用new的語法來創建一個class(類別)的instance(實例),才能對其操作。
而在某些情境下,我們不希望在Runtime中使用太多來自同樣的class的instance以致資源的浪費或是爭奪而導致錯誤發生。

另外,很重要的一點,這也是確保 thread safe 的一種實作。

private static final Object mLock = new Object();
private static volatile MyClass instance = null;
public static MyClass getInstance() {     if (instance == null) {         synchronized(mLock) {             if (instance == null) {                 instance = new MyClass();             }         }     }     return instance; }

留言

這個網誌中的熱門文章

Android 語音輸入(Speech To Text)

Android JSONArray之排序

Android JSON Parse: JSONObject內又包了一個JSONObject