Programming/디자인패턴
디자인 패턴5 - Singleton Pattern
모종
2018. 5. 21. 01:31
반응형
학습목표
- 하나의 인스턴스만 생성하고 이용할 수 있도록 하는 것
구조도는 다음과 같습니다.
대표적인 싱글톤 예제는 DBCP가 있습니다.
객체 생성을 줄임으로서 Heap 영역의 메모리가 줄었고, 하나의 인스턴스만 공유할 수 있게 되었다.
개인적으로 조금 주의를 가해야 한다는 생각은 자원을 공유한다는 것이기 때문에 멀티 스레드 같은 환경에서는 동기화를 시켜서 사용해야 할 것 같습니다. (그냥 Synchronized보다는 좀 더 효율적으로 만들순 없을까나... 훔...)
또 싱글톤의 경우 종료시까지 Heap 영역에 남는다는 점도 있습니다(가비지 컬렉터가 지우지 못한다)
[소스 : https://github.com/kimjongmo/DesignPattern/tree/master/05Singleton]
[참조 : https://www.youtube.com/watch?v=5jgpu9-ywtY&t=136s]
반응형