java单例模式举例

java单例模式举例


2024年4月19日发(作者:)

java单例模式举例

单例模式是一种创建型设计模式,用于确保类只有一个实例,并提供一个全局访问点以获取

该实例。在Java中,可以使用多种方式实现单例模式,下面是一个示例使用懒汉式单例模

式的Java代码:

```java

public class Singleton {

// 私有静态成员变量,用于保存单例实例

private static Singleton instance;

// 私有构造函数,防止外部类实例化

private Singleton() {

}

// 公有静态方法,用于获取单例实例

public static Singleton getInstance() {

if (instance == null) {

instance = new Singleton();

}

return instance;

}

}

```

在上面的示例中,`Singleton`类包含一个私有静态成员变量`instance`,用于存储单例实例。

构造函数被标记为私有,因此无法从外部实例化该类。`getInstance`方法用于获取或创建单

例实例,它首先检查`instance`是否为`null`,如果为`null`,则创建一个新的实例,否则返回

现有的实例。

这种实现方式是懒加载的,即单例实例在第一次访问时才被创建,以节省资源。但是需要注

意,这种实现方式在多线程环境下可能会导致竞态条件,因此需要在`getInstance`方法上添

加同步机制,或者考虑其他线程安全的实现方式,比如双重检查锁定等。

另外,从Java 5起,可以使用`enum`类型实现更简单、线程安全的单例模式。以下是一个示

例:

```java

public enum EnumSingleton {

INSTANCE;

// 添加其他成员变量和方法

}

```

使用`CE`来访问单例实例,它天生是线程安全的,且代码更加简洁。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713540576a2269264.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信