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; }
留言
張貼留言