如何正确实现java单例类

   2024-09-30 4870
核心提示:在Java中,要正确地实现一个单例类,可以使用以下几种方法:懒汉式(Lazy Initialization):public class Singleton {private s

在Java中,要正确地实现一个单例类,可以使用以下几种方法:

懒汉式(Lazy Initialization):
public class Singleton {    private static Singleton instance;    private Singleton() {}    public static synchronized Singleton getInstance() {        if (instance == null) {            instance = new Singleton();        }        return instance;    }}
饿汉式(Eager Initialization):
public class Singleton {    private static final Singleton instance = new Singleton();    private Singleton() {}    public static Singleton getInstance() {        return instance;    }}
双重检查锁定(Double-Checked Locking):
public class Singleton {    private static volatile Singleton instance;    private Singleton() {}    public static Singleton getInstance() {        if (instance == null) {            synchronized (Singleton.class) {                if (instance == null) {                    instance = new Singleton();                }            }        }        return instance;    }}
静态内部类(Static Inner Class):
public class Singleton {    private Singleton() {}    private static class SingletonHolder {        private static final Singleton INSTANCE = new Singleton();    }    public static Singleton getInstance() {        return SingletonHolder.INSTANCE;    }}
枚举(Enum):
public enum Singleton {    INSTANCE;    public void doSomething() {        // ...    }}

以上五种方法都可以实现Java单例类。在实际项目中,可以根据需求和场景选择合适的实现方式。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号