싱글톤 패턴 디코딩
2640 단어 patterndesignarchitecturejava
사용 시기
의지
클래스에 인스턴스가 하나만 있는지 확인하고 글로벌 액세스 지점을 제공하십시오.
구성품
구조
구현
정적 인스턴스와 개인 생성자를 사용하여 Singleton 클래스를 만듭니다. 이 '전용' 인스턴스에 대한 액세스를 허용하는 정적 메소드를 제공하십시오.
1 싱글톤 클래스 만들기
package com.gaurav.singleton;
public class Singleton {
/* the singleton obj */
private static Singleton instance = null;
/* private constructor to avoid
external instantiation of this class */
private Singleton() {
}
/* method to get the singleton obj */
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
/* double checked locking */
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
public void printObj() {
System.out.println("Unique Id of the obj: "
+ System.identityHashCode(this));
}
}
2 싱글톤 인스턴스에 액세스
class Demo {
public static void main(String[] args) {
Singleton obj1 = Singleton.getInstance();
obj1.printObj();
Singleton obj2 = Singleton.getInstance();
obj2.printObj();
}
}
산출
Unique Id of the obj: 1916222108
Unique Id of the obj: 1916222108
이익
단점
실제 사례
소프트웨어 예제
자바 SDK 예제
java.lang.Runtime.getRuntime( )
java.awt.Toolkit.getDefaultToolkit( )
java.awt.Desktop.getDesktop( )
java.util.logging.LogManager.getLogManager()
java.lang.System#getSecurityManager( )
더 논의하고 싶다
Lets have a Coffee
Reference
이 문제에 관하여(싱글톤 패턴 디코딩), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gauravratnawat/decode-singleton-pattern-27h1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)