싱글 톤 모드는 객체를 얻을 때 동일한 객체 만 얻을 수 있음을 의미합니다. Singleton 패턴을 달성하려면 먼저 몇 가지 조건을 충족해야합니다. 먼저 정적 객체 참조를 사유화 해야합니다 . 생성자 사유화 , 사유화는 객체를 생성하기 위해 호출되는 임의의 외부 클래스를 방지하는 것입니다. 그런 다음 개체 를 얻기 위한 외부 메서드 를 제공 합니다 .
우리는 두 가지 공장 패턴, 게으른 사람의 부하 와 배고픈 중국식 부하를 설명 합니다.
1. 지연 로딩
처음으로 개체를 가져올 때 개체 만들기
public class Singleton_01 {
//声明静态变量
private static Singleton_01 s;
//构造方法私有化,外部不能创建对象
private Singleton_01(){
}
//在获取对象时,先判断对象是否被实例化
//如果对象还没有被创建,就创建
//如果已经被实例化,则直接返回对象
public static Singleton_01 getInstance(){
if(s == null){
s = new Singleton_01();
}
return s;
}
}
2. 배고픈 중국어 로딩
객체는 클래스가로드 될 때 생성됩니다.
public class Singleton_02 {
//在类加载的时候就直接创建对象
private static Singleton_02 s = new Singleton_02();
//构造方法私有化,外部不能创建对象
private Singleton_02(){
}
//对外提供的获取对象的方法,公共的
public static Singleton_02 getInstance(){
return s;
}
}