- 싱글톤2024년 07월 19일
- chantleman
- 작성자
- 2024.07.19.:02
import java.util.Date; public class BigLoad { public static void main(String[] args) { Date d1 = new Date(); //싱글톤을 적용하면 로딩 한번만 실행(5초). 몇개를 만들어도 5초 BigLoad.getInstance(); BigLoad.getInstance(); BigLoad.getInstance(); BigLoad.getInstance(); BigLoad.getInstance(); //그때마다 객체를 만들어서 오래 걸림 (30초) new BigLoad(); new BigLoad(); new BigLoad(); new BigLoad(); new BigLoad(); new BigLoad(); Date d2 = new Date(); System.out.println(d2.getTime()-d1.getTime()); } private static BigLoad instance; BigLoad() { System.out.print("로딩중"); for(int i=0;i<10;i++) { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } System.out.print("."); } } public static BigLoad getInstance() { if (instance == null) { instance = new BigLoad(); } return instance; } }
싱글톤이 필요한 이유 1.
로딩 오래 걸리는 걸 해결하기 위해서. 속도차이를 위해
객체를 한번만 만들기 때문에 아무리 많이 호출해도 한번만 실행하기 때문에
싱글톤이 필요한 이유 2.
웹페이지 클릭 한 번 할때마다 객체가 만들어지는데
그럼 디비 접속에도 큰 부하가 걸림.
그래서 직접 디비로 연결하는게 아니라 싱글톤을 통해서 디비 접속하기 때문에디비 접속은 한번만 하게됨
싱글톤은 한 번 만든 객체를 영원히 사용할 수 있기 때문에
여러번 호출해도 객체를 여러개 생성하지 않습니다.
따라서 부하가 발생하지 않고,
한번 생성한 객체로 여러번 호출가능하기때문에 속도도 빠릅니다.
728x90'자바' 카테고리의 다른 글
ValueObject (0) 2024.07.22 lombok.jar (0) 2024.07.22 eclipse에서 ojdbc, 싱글톤 이용해서 db 접속 (0) 2024.07.19 static singleton 템플릿 (0) 2024.07.19 자바 로또 예제 (0) 2024.07.18 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)