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; } }
恶汉模式适用于实例创建后常被使用的场景,懒汉模式适用于实例创建后不常被使用的场景。