Monday, February 27, 2017

Effective Java 규칙6 유효기간이 지난 객체 참조는 폐기하라

책에서는 Stack을 예를 들어 설명을 하고 있다

pop하는 부분을

return elements[--size];

이런식으로 했는데 그러면 stack 의 포지션은 size보다 더 클 수 없다.
그러면 그 이후의 값들이 전부다 무효하게 되는데..

이런 경우

elements[size] = null 로 치환 시켜주라는 이야기이다.

기존의 문제점
스택자체에서 메모리를 관리한다는 점..

null로 변경시 문제점
null point Exception이 발생할수도 있음..

캐쉬도 마찬가지인데
HashMap을 WeakHashMap이라던지
LinkedHashMap을 이용해서 구현하면 된다고 한다.

LinkedHashMap 에는 removeEldestEntry를 제공해줘서 오래된 내용을 파악하는데 도움이 된다고 함..

음... ....

머 자바 개발할때 이정도는 다 유의해서 사용하는거긴 한데..
왠만하면 자바에서 제공하는 자료구조를 이용해서 개발하는게 제일 괜찮을듯 하다.

No comments:

Post a Comment