C나 C++과 같은 언어는 수동으로 메모리를 비워줘야 함.
비워줘야 할 공간을 깜빡하고 남겨두는 경우 메모리 누수(memory leak)가 발생하고,
이렇게 새어나가다가 메모리를 꽉 채우면 컴퓨터가 뻗음.
그래서 자바와 같은 언어에서 가비지 컬렉터를 도입.
Mark-and-sweep: 쭉 훑으며 필요한 것만 마크한 후 마크되지 않은 것은 갖다 버림.
루트에서 닿지 않는 변수를 치우는 것.
Reference Counting: 한 요소가 다른 요소에게 몇 번 참조가 되는지 세어서 그 수가 0이 되면 치움.
그러나, 가비지 컬렉터가 완벽한 것은 아니기에 메모리 관리를 가비지 컬렉터에 완전히 맡기는 것은 X.
필요시 사용 언어의 메모리 관리를 할 줄 알아야 함.
'자바기초' 카테고리의 다른 글
생성자 (0) | 2020.04.28 |
---|---|
쿠키, 세션, 캐시 (0) | 2020.04.27 |
객체지향 프로그래밍 (0) | 2020.04.27 |
지역 변수와 인스턴스 변수 (0) | 2020.04.24 |
클래스와 객체 (0) | 2020.04.24 |