Java中的設計模式中有兩種常見的單例模式,分別是惡漢模式和懶漢模式。
惡漢模式是指在類加載時就創建唯一的實例,只在第一次使用時進行初始化。使用這種模式可以避免多線程同步問題,但會增加內存開銷。
public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } }
懶漢模式是指在第一次使用時創建唯一的實例。使用這種模式可以避免不必要的內存開銷,但會存在多線程同步問題。
public class Singleton { private static Singleton instance; private Singleton() {} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
惡漢模式適用于實例創建后常被使用的場景,懶漢模式適用于實例創建后不常被使用的場景。