이펙티브 자바 - Item50. 적시에 방어적 복사본을 만들라
적시에 방어적 복사본을 만들라 자바는 안전한 언어입니다. 네이티브 메서드를 사용하지 않으니 C, C++ 같이 안전하지 않은 언어에서 흔히보는 버퍼 오버런, 배열 오버런, 와일드 포인터 같은 메모리 충돌 오류로부터 안전합니다. 자바로 작성한 클래스는 시스템의 다른 부분에서 무슨 짓을 하든 그 불변식이 지켜집니다. 메모리 전체를 하나의 거대한 배열로 다루는 언어안에서는 누릴 수 없는 강점입니다. 💡 문제가 발생하는 상황 아래 Period 객체는 생성자에서 유효성 검사를 하고 있습니다. 하지만 main 메서드에서 객체 생성 후에 값을 수정하고 있어 문제가 발생할 수 있습니다. 자바 8 이후로는 Date 클래스 대신 불변인 Instant를 사용하거나 LocalDateTime 또는 ZonedDateTime을 사용..
스터디/이펙티브 자바
2022. 8. 3. 22:39
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- redis sorted set으로 대기열 구현
- java userThread와 DaemonThread
- transactional outbox pattern
- service based architecture
- pipe and filter architecture
- 레이어드 아키텍처란
- polling publisher spring boot
- spring boot redisson 분산락 구현
- java ThreadLocal
- spring boot redisson destributed lock
- spring boot redis 대기열 구현
- 공간 기반 아키텍처
- transactional outbox pattern spring boot
- 람다 표현식
- spring boot 엑셀 다운로드
- 자바 백엔드 개발자 추천 도서
- spring boot excel download paging
- 트랜잭셔널 아웃박스 패턴 스프링부트
- @ControllerAdvice
- spring boot excel download oom
- 서비스 기반 아키텍처
- spring boot redisson sorted set
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- JDK Dynamic Proxy와 CGLIB의 차이
- microkernel architecture
- pipeline architecture
- spring boot poi excel download
- redis 대기열 구현
- redis sorted set
- space based 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 |
글 보관함