이펙티브 자바 - Item88. readObject 메서드는 방어적으로 작성하라
readObject 메서드는 방어적으로 작성하라 readObject 메서드는 실질적으로 또 다른 public 생성자로 볼 수 있습니다. 따라서 readObject 메서드에도 충분한 주의를 기울여야 합니다. 그렇지 않으면 불변식을 깨트릴 수 있습니다. 그렇기 때문에 readObject 메서드 또한 하나의 생성자라 생각하고 방어적으로 작성해야 합니다. readObject 메서드는 매개변수로 바이트 스트림을 받는 생성자라 할 수 있는데 보통의 경우 바이트 스트림은 정상적으로 생성된 인스턴스를 직렬화해 만들어집니다. 하지만 불변식을 깨트릴 목적으로 생성한 바이트 스트림을 건낸 경우 문제가 발생합니다. 💡 불변식을 깨트릴 수 잇는 코드 아래 코드는 Serializable 인터페이스를 선언하고 생성자에서 방어적 복..
스터디/이펙티브 자바
2022. 8. 27. 17:17
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- space based architecture
- spring boot poi excel download
- JDK Dynamic Proxy와 CGLIB의 차이
- 공간 기반 아키텍처
- transactional outbox pattern
- service based architecture
- spring boot excel download oom
- 람다 표현식
- pipeline architecture
- java userThread와 DaemonThread
- 레이어드 아키텍처란
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot redisson 분산락 구현
- transactional outbox pattern spring boot
- redis sorted set
- java ThreadLocal
- 서비스 기반 아키텍처
- 트랜잭셔널 아웃박스 패턴 스프링부트
- 자바 백엔드 개발자 추천 도서
- pipe and filter architecture
- spring boot excel download paging
- spring boot redisson sorted set
- @ControllerAdvice
- spring boot redisson destributed lock
- redis sorted set으로 대기열 구현
- redis 대기열 구현
- polling publisher spring boot
- spring boot redis 대기열 구현
- spring boot 엑셀 다운로드
- microkernel architecture
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함