2014-01-19 1 views
0

Javascript에서 특정 객체를 GC'ed 할 수 있는지 확인할 수있는 어설 션이 있습니까? 그 목적은 메모리 누수가 있다고 단언하는 단위 테스트를하는 것입니다.가비지 수집 될 특정 자바 스크립트 개체를 확인하려면 어떻게해야합니까?

이 시점에서 내가 직접 언어를 지원하는지 모르겠다. 자바 스크립트에는 약한 참조 나 파이널 라이저가 없다고 생각하지 않는다. 자바 또는 C#으로 작성했을 가능성이있다.

답변

1

특정 개체를 GC 할 수 있는지 여부를 감지하는 자바 스크립트 코드를 사용할 수 없습니다. 그것을 테스트하는 바로 그 코드는 가비지 수집을 막을 것입니다. 왜냐하면 그 코드는 정의에 따라 참조를 가지며 가비지 컬렉터는 GC에 아직 실제 참조가없는 GC가 아니기 때문입니다.

더 메모리 누수가 없는지 확인하기 위해 할 수있는 일 :

  1. 반복해서 잘못된 코드를 실행하는 테스트를 고안하고, 메모리 확인하기 위해 브라우저의 총 메모리 사용량을 측정은 사용법에 따라 위아래로 올라 가지 않습니다.

  2. 거대한 속성 값을 개체 (예 : 몽고 문자열)에 할당하면 이러한 개체가 총 메모리 사용량에서 누출되는지 분명히 알 수 있습니다.

  3. 다양한 개발자 도구 (브라우저마다 다를 수 있음)를 사용하여 브라우저 메모리 사용을보다 세부적으로 살펴보십시오.