面试过程中,经常被遇到手写单例模式的代码,本文就常用的几种单例模式的写法进行总结。
单例模式,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去 new,因为构造器是被 private 修饰的,一般通过 getInstance() 的方法来获取它们的实例。
一、懒汉式
- 用到时再去创建
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 getInstanc