728x90
반응형
질문 : Java에서 싱글 톤 패턴을 구현하는 효율적인 방법은 무엇입니까?
Java에서 싱글 톤 패턴을 구현하는 효율적인 방법은 무엇입니까?
답변
enum 사용 :
public enum Foo {
INSTANCE;
}
Joshua Bloch는 Google I / O 2008의 Effective Java Reloaded 강연 : link to video 에서이 접근 방식을 설명했습니다. 또한 그의 프레젠테이션 슬라이드 30-32를 참조하십시오 ( effective_java_reloaded.pdf ).
직렬화 가능한 싱글턴을 구현하는 올바른 방법
public enum Elvis {
INSTANCE;
private final String[] favoriteSongs =
{ "Hound Dog", "Heartbreak Hotel" };
public void printFavorites() {
System.out.println(Arrays.toString(favoriteSongs));
}
}
편집 : "Effective Java" 의 온라인 부분은 다음과 같이 말합니다.
"이 접근법은 더 간결하고 직렬화 기계를 무료로 제공하며 정교한 직렬화 또는 반사 공격에도 불구하고 다중 인스턴스화에 대한 철갑 한 보증을 제공한다는 점을 제외하면 공용 필드 접근법과 기능적으로 동일합니다.이 접근법은 아직 널리 채택되지는 않았지만 단일 요소 열거 형은 단일 요소를 구현하는 가장 좋은 방법 입니다. "
출처 : https://stackoverflow.com/questions/70689/what-is-an-efficient-way-to-implement-a-singleton-pattern-in-java
728x90
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
Java에서 폴더의 모든 파일을 읽는 방법 (0) | 2021.08.04 |
---|---|
Java를 사용하여 줄 단위로 큰 텍스트 파일을 읽는 방법 (0) | 2021.08.03 |
Java에서 2 * (i * i)가 2 * i * i보다 빠른 이유 (0) | 2021.07.29 |
Java에서 YYYY-MM-DD HH : MI : Sec.Millisecond 형식으로 현재 시간을 얻는 방법 (0) | 2021.07.28 |
Java 문자열에서 날짜 형식 변경 (0) | 2021.07.19 |