자바 스크립트의 가비지 컬렉터 타이머에 대한 아이디어가 있으십니까? 아래 스크립트를 실행하면 함수가 연결되고 연결된 스코프 변수가 100M 후에 정확하게 가비지 수집을위한 이 될까요? 아니면 약간의 마진?Javascript - 가비지 수집기 타이머?
가비지 수집에 대한 하나의 스레드를 stackoverflow에서 읽었지만 여전히이 질문이 있습니다. 아래 질문은 무엇입니까?
- 가비지 수집 작업을 위해 어떤 SYSTEM TIMER가 실행됩니까?
아니요, EVENT 기반입니까?라는 의미는 참조가 더 이상 존재하지 않으면 가비지 수집기가 곧 메모리를 회수합니다.
function call_me() { //calculate elapsed_time - code not given if(elapsed_time <100) { setTimeout(call_me,25); } else{ final_call(); } } call_me();
왜 중요한가요? 가비지 컬렉션의 핵심은 암시 적이며 걱정할 필요가있는 것이 아니라는 것입니다. 다른 모든 것들에서 역 참조로 쓰레기를 만드는 것은 당신에게 달려 있습니다. 그 이후에 일어나는 일은 각 JS 엔진에 대해 매우 구현 가능성이 높습니다. –
JavaScript의 가비지 수집은 코드를 해석하는 데 사용되는 엔진에 따라 다릅니다. 예를 들어, Rhino는 JVM을 사용합니다. 따라서 특정 메모리 블록에 대한 참조가 더 이상 없을 때 가비지 수집기를 실행합니다. 나는 주기적으로 그렇게한다고 생각한다. (즉, 이벤트에 의한 것이 아니다.) 나는 다른 구현에 대해 모른다. 가비지 수집은 JavaScript 자체와 관련이 없습니다. –
@Praveen : 질문은 관련이 없습니다. 정의에 따르면 GC에 대해 걱정할 필요가 없습니다. 또한 구현에 따라 다릅니다. – SLaks