写出懒汉模式和饿汉模式
时间: 2024-05-08 20:14:50 浏览: 124
懒汉模式和饿汉模式都是单例模式的实现方式。
懒汉模式:在第一次调用获取实例的方法时,才实例化对象。在多线程环境下可能会出现线程安全问题,需要加锁或双重检查锁来保证线程安全。
示例代码:
```
public class LazySingleton {
private static LazySingleton instance = null;
private LazySingleton() {}
public static synchronized LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
```
饿汉模式:在类加载时就实例化对象,保证了线程安全,但可能会浪费一定的内存空间。
示例代码:
```
public class EagerSingleton {
private static EagerSingleton instance = new EagerSingleton();
private EagerSingleton() {}
public static EagerSingleton getInstance() {
return instance;
}
}
```
阅读全文