참조 해제1 [아이템 7] 다 쓴 객체 참조를 해제하라 C, C++ 처럼 메모리를 직접 관리하는 언어와 다르게 Java는 가비지 컬렉터를 갖춘 언어로써 JVM이 메모리 관리를 대신 해준다 그렇다면 메모리 관리에 더 이상 신경을 쓰지 않아도 되는가? 그렇지 않다 객체 참조를 프로그래머가 직접 관리해야 하는 이유는 바로 '메모리 누수' 때문이다. 스택을 사용하는 프로그램을 오래 실행하다 보면 점차 가비지 컬렉션 활동과 메모리 사용량이 늘어나 결국 성능이 저하될 것이다. 스택에서의 메모리 누수 스택이 커졌다가 줄어들었을 때, 스택에서 꺼내진 객체들을 가비지 컬렉터가 회수하지 않는다. 프로그램에서 그 객체들을 더 이상 사용하지 않더라도 말이다. 이 스택이 그 객체들의 다 쓴 참조(obsolete reference)를 여전히 가지고 있기 때문이다. 여기서 다 쓴 참조.. 2022. 1. 9. 이전 1 다음