garbage collection 예제

일반적인 응용 프로그램에서 대부분의 개체는 수명이 매우 짧습니다. 반면에 일부 개체는 응용 프로그램이 종료될 때까지 매우 오랜 시간 동안 지속됩니다. 세대별 가비지 수집을 사용할 때 힙 영역은 젊은 세대와 구 세대의 두 영역으로 나뉘며, 이는 별도의 전략을 통해 가비지 수집됩니다. 객체는 일반적으로 젊은 영역에서 작성됩니다. 개체가 몇 번의 GC 사이클에서 살아남으면 이전 세대로 변합니다. 자바 메모리 관리, 내장 가비지 수집, 언어의 최고의 업적 중 하나입니다. 가비지 수집기는 자동으로 재사용을 위해 메모리를 회수하기 때문에 개발자는 메모리 할당 및 할당 에 대해 명시적으로 걱정하지 않고 새 개체를 만들 수 있습니다. 이를 통해 상용구 코드가 적어 개발 속도가 빨라지며 메모리 누수 및 기타 메모리 관련 문제를 제거할 수 있습니다. 적어도 이론적으로. 시각적 GC 탭에는 가비지 수집기에서 진행되는 모든 활동이 표시됩니다. Eden 공간이 채워지고 데이터가 두 서바이벌 공간 S1과 S0 간에 이동하는 것을 볼 수 있습니다.

또한 가비지 수집기와 관련된 그래프와 통계가 오른쪽에 표시됩니다. 자바스크립트 엔진에는 가비지 수집기라고 하는 백그라운드 프로세스가 있습니다. 그것은 모든 개체를 모니터링하고 도달 할 수없는 된 것을 제거합니다. 자동 가비지 수집은 힙 메모리를 보고 사용 중인 개체와 사용 되지 않는 개체를 식별하고 사용되지 않는 개체를 삭제하는 프로세스입니다. 사용 중인 개체 또는 참조된 개체는 프로그램의 일부가 해당 개체에 대한 포인터를 계속 유지 관리한다는 것을 의미합니다. 사용되지 않는 개체 또는 참조되지 않은 개체는 프로그램의 모든 부분에서 더 이상 참조되지 않습니다. 따라서 참조되지 않은 개체에서 사용하는 메모리를 회수할 수 있습니다. 또한 V8 블로그는 때때로 메모리 관리의 변경 사항에 대한 기사를 게시합니다. 당연히, 쓰레기 수집을 배우기 위해, 당신은 더 나은 일반적으로 V8 내부에 대해 학습하여 준비하고 V8 엔지니어 중 하나로서 일한 Vyacheslav Egorov의 블로그를 읽을 것입니다. 나는 말하고있어요 : «V8», 그것은 가장 인터넷의 기사로 덮여 있기 때문에.

Next Post:
Previous Post: