가비지 수집기
-
가비지 컬렉션(Garbage Collection)Programing/C# 2008. 8. 13. 11:37
.NET 프레임워크의 가비지 수집 New 키워드를 사용하여 생성된 개체들은 managed 힙에 들어간다. 그러면 .NET은 이 개체에 필요한 메모리를 계산해서 힙에 빈 공간이 충분히 있는지 확인한다. 만약 Managed힙 상에 메모리를 할당할 수 없다면 가비지 수집기가 실행되어 사용되지 않는 메모리들을 해제하게 된다. 이 가비지 수집기는 다음과 같은 2가지 가정을 통해 행동을 하게 된다. 1. 최근에 생성된 개체들일수록 수명이 짧을 것이다. 2. 이미 오랫동안 존재해온 개체들은 앞으로도 한동안 살아있을 것이다. 또한 .NET 프레임워크에는 총 삼대가 존재한다. 0세대에서는 최근에 추가된 모든 메모리들을 저장한다. 시간이 지나 힙이 가득차면 가비지 수집기가 실행돼서 활동 중인 모든 개체들을 1세대로 보내고..