单例模式指的是一个类只有一个实例它通过将构造函数属性设为private无法让我们通过new来实现多个实例。
package com.iss.singleton;
public class TestSigleton {
public static void main(String[] args) {
Singleton singleton = Singleton.getSingleton();
Singleton singleton2 = Singleton.getSingleton();
System.out.println(singleton==singleton2);//输出结果为true
}
}
class Singleton {
private static Singleton singleton;
private Singleton() {
}
public static Singleton getSingleton() {
if (singleton == null) {
singleton = new Singleton();
}
return singleton;
}
}
那么单例模式有什么好处和作用的呢?
1、在面向对象的实际中有些东西是具有唯一性的比如有个接口 叫 Planet(星球),有一个实现类叫Earth表示地球,地球只有一个,怎么办,用单例。
2、过多的创建 对象会导致内存的开销变大所以Spring中bean默认是单例的