单例模式
个人简述:
单例模式分两种,分别是懒汉式和饿汉式。其中懒汉式即为当被需要时再创建对象,而饿汉式则为一开始就创建好对象,有需求是就给他。其中懒汉式需要考虑线程安全问题,但是懒汉式相比于饿汉式更加节约空间。而饿汉式由于一开始就创建好对象,消耗更多空间,但是无需考虑线程安全。
单例模式实现核心点:
实现单例模式的核心就是禁止外部类构造对象,只允许外部类使用内部已经创建好的对象。代码中我们将构造方法私有化即可!
懒汉式:
public class Singleton {
private static Singleton instance;
private Singleton (){}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
饿汉式:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton (){}
public static Singleton getInstance() {
return instance;
}
}