单例模式
- 创建一个私有的构造方法
- 创建一个单例对象
- 获取单例的方法
饿汉式
/**
* 饿汉式
*
* @author YangChingyu-k
* @date 2020/3/23 15:06
*/
public class ESingle {
private static ESingle instance = new ESingle();
private ESingle(){}
public static ESingle getInstance() {
return instance;
}
}
饿汉式:不管有没有用到,都会去创建对象,好处是没有线程安全,坏处是浪费内存。
/**
* 懒汉式
*
* @author YangChingyu-k
* @date 2020/3/23 15:09
*/
public class LSingle {
private static LSingle instance;
private LSingle(){}
public static LSingle getInstance() {
if (instance == null) {
instance = new LSingle();
}
return instance;
}
}
懒汉式:顾名思义“懒”,只有用到时才会去检查有没有该对象,有则返回,没有则去创建,有线程安全和线程不安全两种写法,区别就是是否使用synchronized关键字。