单例模式懒汉和饿汉代码示例、
时间: 2024-05-18 15:10:19 浏览: 103
单例模式是一种常用的设计模式,它的主要作用是保证一个类只有一个实例,并提供一个全局访问点。单例模式有两种实现方式,分别是懒汉式和饿汉式。
懒汉式单例模式的实现方式是在需要使用该实例时才去创建它,而不是在类加载时就创建实例。这种方式的好处是可以节省系统资源,但是会增加代码的复杂性,因为需要在多线程环境下保证实例只被创建一次。下面是一个懒汉式单例模式的代码示例:
```
public class LazySingleton {
private static volatile LazySingleton instance = null;
private LazySingleton() {}
public static synchronized LazySingleton getInstance() {
if (instance == null) {
synchronized (LazySingleton.class) {
if (instance == null) {
instance = new LazySingleton();
}
}
}
return instance;
}
}
```
饿汉式单例模式的实现方式是在类加载时就创建实例,因此它的优点是简单、线程安全,但是可能会浪费系统资源。下面是一个饿汉式单例模式的代码示例:
```
public class HungrySingleton {
private static final HungrySingleton instance = new HungrySingleton();
private HungrySingleton() {}
public static HungrySingleton getInstance() {
return instance;
}
}
```
阅读全文