如何在Java中实现单例模式?
在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 Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
这两种方式都可以保证单例模式,但是建议使用饿汉式,因为它在首次访问时就完成了初始化,不会产生额外的线程开销。
还没有评论,来说两句吧...