모종닷컴

디자인 패턴5 - Singleton Pattern 본문

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]



반응형