[TIL] 230309
in TIL on Effective Java
✏️ Check Box
📌 정리
아이템7. 다 쓴 객체 참조를 해제하라
JVM이 GC를 갖추고 있으므로 메모리 관리에 크게 신경쓰지 않았다. 그렇다고 메모리 관리를 위해 일일히 쓰임이 끝난 객체에 null
처리 하는 것은 코드의 간결성면에서 바람하지 않다고 한다.
책에선 자기 메모리를 직접 관리하는 클래스에서 프로그래머가 메모리 관리에 신경써야 한다고 명시한다. Stack을 직접 작성했을 때의 예시가 아주 적절하게 와닿았다. 스택 Size의 경우 모든 공간을 사용하지 않는 경우가 많으므로, pop()
이 일어날 경우 null
처리를 통해 참조 해제하여 메모리를 관리한다.
다만, 아직은 직접 메모리를 관리하는 클래스를 생성할 일이 없기에 당장 쓰임은 없을지 몰라도 알아두면 퍼포먼스 부분에서 유용한 지식이 될 것 같다.
아이템8. finalizer와 cleaner 사용을 피하라
finalize()
메서드를 override한 finalizer와 Cleaner
클래스를 이용한 cleaner 방식을 이용한 객체 소멸은 이용하지 말라는 것이 핵심이다.
내용 자체가 이해하기가 상당히 난해했다. 다만 성능면이나 동작이 적절히 보장되지 않기에 지양하라는 내용이었다.
Back to [TIL] 230301