728x90
- 싱글톤은 만드는 방식은 많다.DCL 방식의 싱글톤 또는 enum 싱글톤을 이용하자.
- 물론 싱글톤의 단점도 존재한다. 테스트보기가 힘들다.
- mock 객체를 사용하려면 해당 객체가 인터페이스를 구현하고 있어야 함.
- 자바 싱글톤과 스프링의 싱글톤은 다르다.
- 자바는 클래스로더에 의해서 만들어지고, 스프링은 스프링 컨테이너 (applicationContext)에 의해서 구현된다
- 역직렬화 할때 직렬화 == 역직렬화 비교를하면 false 일텐데, 이를 true 로 나오게끔 하고싶으면
- override 는 아니지만,,그렇다고 override 가 아니라고 말하기도 뭐한 코드를 넣어야한다
- 아래코드는 @override 가 아님.하지만 역직렬화 할때 사용은 함.
private Object readResolve() {
return INSTANCE;
}
코틀린은 object 키워드를 사용. by lazy 도 참고.
728x90
'공부 > 이펙티브자바' 카테고리의 다른 글
[이펙티브자바]item6.불필요한 객체 생성을 피하라 (0) | 2023.01.13 |
---|---|
[이펙티브자바]item5.자원을 직접 명시하지 말고 의존 객체 주입을 사용하라. (0) | 2023.01.13 |
[이펙티브 자바]item4.인스턴스를 막으려거든 private 생성자를 사용하라. (0) | 2023.01.13 |
[이펙티브 자바]item2.생성자에 매개변수가 많다면 빌더를 고려하라 (0) | 2023.01.11 |
[이펙티브 자바]item1.생성자 대신 정적 팩터리 메서드를 고려하라. (0) | 2023.01.11 |
댓글