用Java写一个单例模式
时间: 2023-06-09 17:06:48 浏览: 119
好的,下面是一个Java实现的单例模式的代码示例:
```
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
这是一种懒汉式单例模式的实现,在第一次调用 `getInstance()` 方法时才会创建单例对象。
在多线程环境下,这种写法可能存在线程安全问题,所以可以使用如下代码实现线程安全的单例模式:
```
public class Singleton {
private static Singleton instance;
private static Object lock = new Object();
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (lock) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
```
这种写法可以保证单例模式在多线程环境下的线程安全。
阅读全文