반응형

조슈아

    객체의 생성과 삭제 - 규칙 6 유효기간이 지난 객체 참조는 페기하라.

    Java는 GC가 있어 C나 C++처럼 순수 메모리 관리를 해주지 않아도 돼서 메모리 관리를 대부분 하지 않는다. 그러나 더 이상 참조하지 않는 객체에 대해 reference를 제거하지 않는 경우에는 어떠한 경우에도 메모리 누수가 발생되게 된다. 이런 reference는 단순하게 null 처리를 해줌으로써 해제된 참조를 해제 할 수 있다. Null로 바꾸게 되면, GC가 해당 객체를 해제할 수 있는 객체라 생각하고 반환해버린다. 하지만 이런 객체참조를 null로 처리하는 것은 규범이라기보다는 예외적인 조치가 되어야 한다. 그렇다면 이런 만기참조를 해결하는데 좋은 방법이 어떤 것인가? 가장 좋은 방법은 해당 참조가 보관된 변수가 유효범위(scope)를 벗어나게 하는 것이다. 또한 캐시(cache)도 메모리..

반응형