Item 3.
- Singleton + serializable일 떄에는 추가적인 작업이 필요하다.
- single-element enum type is the best way to implement a singleton.
[Singleton 구현 방법]
- 일반적인 singleton 구현은, 인스턴스가 사용되는 시점에 생성되지 않는다. private static xxx = new xxx();로 인하여 클래스가 로드될 때 생성된다.
- 이를 극복하기 위해 lazy initiailzation을 사용한다.
-> private static xxx;만 해놓고 getInstance()에서 생성자 호출.
-> 하지만 이러한 방법은 multi thread일 경우 안전하지 않다.
-> 동시에 getInstance()를 호출하게 되면, 여러개의 instance가 생성될 수 있다.
- initialization on demand holder idiom !! [best]
'Language > Java' 카테고리의 다른 글
[Effective Java] Item4. (0) | 2017.01.14 |
---|---|
[Effective Java] item 2 (0) | 2016.12.20 |
[Effective Java] item 1 (0) | 2016.12.19 |
attach source javadoc in eclipse (0) | 2015.02.11 |