Golang
-
Go언어의 가비지컬렉션 알고리즘Golang 2018. 11. 7. 10:53
Go언어의 가비지 컬렉션 알고리즘의 핵심이 삼색알고림에 대해 알아보려고 합니다. 먼저 삼색알고리즘에 사용하는 정의 부터 알아 보겠습니다. 흰색 집합: 프로그램에서 더 이상 접근 할 수 없어 가비지 컬렉션이 되는 대상입니다. 검은색 집합: 프로그램이 사용 하고 있으며 흰색 집합의 오브젝트를 가리키는 포인터가 확식히 없는 오브젝트의 집합입니다. 회색 집합: 프로그램이 현재 사용하고 있지만 흰색 오브젝트를 가리키고 있어 검사 과정이 필요한 집합입니다. Point 검은 색에서 흰색 집합으로 연결 되지 않아 흰색 집합의 오브젝트를 제거 할 수 있습니다. 삼색 알고리즘 Process initial 모든 오브젝트가 흰색인 상태 Process Step 1 루트 오브젝트를 방문해서 탐색을 한 후 회색 집합으로 이동 시킨..