이펙티브 자바 2장 - 객체의 생성과 파괴
[아이템 7] 다 쓴 객체 참조를 해제하라.
GC가 다 쓴 객체를 회수해 간다고 메모리 관리에 신경을 안 쓰면 안된다 -> 해결책 : 해당 객체의 참조를 다 사용했을 때는 null 처리(참조 해체)를 하면 됨.
객체 참조를 null 처리를 하는 것은 아주 예외적인 상황에 발생해야 함
예외적인 상황 1 - 자기 메모리를 직접 관리하는 클래스라면 항상 메모리 누수에 주의해야 함.
원소를 다 사용한 즉시 그 원소가 참조한 객체들을 다 null 처리를 해줘야 함.
예외적인 상황 2 - 캐시
해결책 : WeakHashmap을 이용해서 캐시를 만듦 / 백그라운드 스레드를 활용
예외적인 상황 3 - 리스너, 콜백
해결책 : 약한 참조(weak reference)로 저장
'책 > 이펙티브 자바 3판' 카테고리의 다른 글
[아이템 10] equals는 일반 규약을 지켜서 재정의하라. (0) | 2023.04.20 |
---|---|
[아이템 6] 불필요한 객체 생성을 피하라. (0) | 2023.04.18 |
[아이템 4] 인스턴스화를 막으려거든 private 생성자를 사용하라. (0) | 2023.04.18 |
[아이템 3] private 생성자나 열거 타입으로 싱글턴임을 보증하라. (0) | 2023.04.18 |
[아이템 2] 생성자에 매개변수가 많다면 빌더를 고려하라. (0) | 2023.04.18 |