懒汉式
只在被调用时再创造对象,以时间换空间。线程不安全
package com.lsh.model;
/**
* @author :LiuShihao
* @date :Created in 2020/12/31 4:11 下午
* @desc :懒汉式单例
* 等被调用时才创建
* 以时间换空间
*/
public class Singleton2 {
private static Singleton2 s ;
//对外提供可以获得对象的方法
public static Singleton2 getInstance(){
if (s == null){
s = new Singleton2();
}
return s;
}
//将构造方法私有化
private Singleton2(){
}
}
饿汉式
先把对象创造起来,在被调用是直接返回。以空间换时间,线程安全
package com.lsh.model;
/**
* @author :LiuShihao
* @date :Created in 2020/12/31 4:11 下午
* @desc :饿汉式单例
* 先创建对象在被人调用
* 以空间换时间
*/
public class Singleton1 {
//自己创建对象
private static Singleton1 s = new Singleton1();
//对外提供可以获得对象的方法
public static Singleton1 getInstance(){
return s;
}
//将构造方法私有化
private Singleton1(){
}
}