比餓漢單例模式和懶漢單例模式更好的靜態內部類單例模式
阿新 • • 發佈:2018-12-26
簡介
單例模式是一種常見的模式,懶漢模式考慮執行緒安全需要在獲取單例的方法新增synchronized關鍵字實現同步程式碼塊,這樣造成了效能損耗;而餓漢模式不能延遲例項化物件,下面是一個靜態內部類單例模式的實現,既保證了執行緒的安全,有能夠延遲載入,也就是在第一次使用的時候載入。
實現
package com.helper.androidcommon; /** * Created by Shinlone on 2016/8/16. */ public class Singleton { private Singleton() {} /** * 獲取例項 * * @return */ public static Singleton getInstance() { return SingletonHolder.sIntstance; } /** * 動作A */ public void actionA() { } /** * 動作B */ public void actionB() { } /** * 一個私有的靜態內部類,用於初始化一個靜態final例項 */ private static class SingletonHolder { private static final Singleton sIntstance = new Singleton(); } }
使用
Singleton.getInstance().actionA();//獲取例項使用方法A
Singleton.getInstance().actionB();//獲取例項使用方法B