http://cafe.naver.com/javathink.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=180
1.
public class Singleton {
// <b>final</b> 키워드를 사용한 것에 주의할 것!
private static final Singleton _theInstance = new Singleton();
private Singleton() {
}
// <b>synchronized</b> 키워드가 사용되지 않았다는 점도 눈여겨 보자
public static Singleton getInstance() {
return _theInstance;
}
}
2.
/*
* final 키워드를 사용하여 이 클래스로부터 상속이 불가능하도록 하였다.
*/
public final class Singleton {
// static inner class (여기도 final 키워드 사용) 를 사용하여 Singleton 클래스의
// 객체를 생성함
private static final class SingletonHolder {
// 역시 이 내부에서도 static final 키워드 사용
static final Singleton singleton = new Singleton();
}
private Singleton() {}
public static Singleton getInstance() {
return SingletonHolder.singleton;
}
}
'Java Programming' 카테고리의 다른 글
wrapping "sun.net.ftp.FtpClient" (0) | 2009.02.27 |
---|---|
java.net.BindException: Address already in use: JVM_Bind (0) | 2009.02.10 |
Java 소멸자 (0) | 2009.02.07 |
wait, notify example (0) | 2009.02.03 |
Java chatting sample (0) | 2009.01.16 |