单例模式的三种写法
单例模式是一种常见的设计模式,它确保一个类只有一个实例,并提供一个全局访问点。在实际应用中,单例模式可以通过多种方式来实现,下面我将介绍三种常见的写法:
1. 饿汉式单例模式:在类加载的时候就创建实例,保证了线程安全,但可能会造成资源浪费。示例代码如下:
java.
public class Singleton {。
private static Singleton instance = new Singleton();
private Singleton() {}。
public static Singleton getInstance() {。
return instance;
}。
}。
2. 懒汉式单例模式:在第一次调用获取实例的方法时才创建实例,避免了资源浪费,但需要考虑线程安全性。示例代码如下:
java.
public class Singleton {。
private static Singleton instance;
private Singleton() {}。
public static synchronized Singleton getInstance() {。
if (instance == null) {。
instance = new Singleton();
}。
return instance;
}。
}。
3. 双重检查锁单例模式:在懒汉式的基础上进行改进,通过双重检查锁定来提高并发性能。示例代码如下:
java.
public class Singleton {。
private volatile static Singleton instance;
private Singleton() {}。
public static Singleton getInstance() {。
if (instance == null) {。
synchronized (Singleton.class) {。java中常用的设计模式有哪些
if (instance == null) {。
instance = new Singleton();
}。
}。
}。
return instance;
}。
}。
以上是三种常见的单例模式写法,它们各有优缺点,可以根据具体应用场景选择合适的实现方式。希望这些信息能够对你有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论