Java-Squid 사람들과 이펙티브 자바를 공부한 내용 중 본인이 맡았던 내용을 블로그 글로 정리를 해본다.

[아이템 01] 생성자 대신 정적 팩터리 메서드를 고려하라

[아이템 02] 생성자에 매개변수가 많다면 빌더를 고려하라

[아이템 03] private 생성자나 열거 타입으로 싱글턴임을 보증하라

[아이템 04] 인스턴스화를 막으려거든 private 생성자를 사용하라

[아이템 05] 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라

[아이템 46] 스트림에서는 부작용 없는 함수를 사용하라

[아이템 65] 리플렉션보다는 인터페이스를 사용하라

[아이템 70] 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라

[아이템 71] 필요 없는 검사 예외 사용은 피하라

[아이템 78] 공유 중인 가변 데이터는 동기화해 사용하라

[아이템 79] 과도한 동기화는 피하라

[아이템 80] 스레드보다는 실행자, 태스크, 스트림을 애용하라

[아이템 81] wait 와 notify 보다는 동시성 유틸리티를 애용하라

[아이템 89] 인스턴스 수를 통제해야 한다면 ReadResolve 보다는 열거 타입을 사용하라

[아이템 06] 불필요한 객체 생성을 피하라

[아이템 07] 다 쓴 객체 참조를 해제하라

[아이템 08] finalizer와 cleaner 사용을 피하라

[아이템 09] try-finally 보다는 try-with-resources를 사용하라