//有些类,在内存中只需要有一个对象即可
//创建数量太多,会浪费资源
//所以有了单例模式
单例模式,代码实现
package day;
public class Singleton {
private static Singleton st;
private Singleton() {}
public static Singleton getInstance() {
//双重锁检查机制 - 第一重
if (st == null) {
//synchronized放到方法里降低锁粒度提升性能
synchronized (Singleton.class) {
//双重锁检查机制 - 第二重
if (st == null) {
st = new Singleton();
}
}
}
return st;
}
}
测试:
package day07.k07;
public class SingletonTest {
public static void main(String[] args) {
Singleton[] a = new Singleton[10];
for (int i = 0; i < a.length; i++) {
//a[i] = new Singleton();
a[i] = Singleton.getInstance();
}
for (Singleton s : a) {
System.out.println(s);
}
}
}