개발자

Javascript에도 GC라는 개념이 있나요?

2023년 03월 29일조회 209

요즘 자바스크립트를 새롭게 공부하고 있는데, GC라는 개념이 있는지 궁금합니다. GC가 있다고 하는 것 같기도 하고, 있는데 엔진마다 다르다고 하는 것 같기도 하고 영어로 된 여러 글을 읽다보니까 좀 지치기도하고 제가 이해한게 맞는지 궁금해서 여기다가 질문남깁니다. 1. 자바 스크립트에 GC가 있나요? 2. GC가 있으면 어떤 방식으로 동작하나요? 3. 자바스크립트 엔진에 따라 GC 동작 방식이 다른가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

손정현님의 프로필 사진

안녕하세요! 넵 JS에도 GC라는 개념이 있습니다. GC의 동작 방식은 엔진마다 조금씩 다를 수 있지만, mark and sweep 알고리즘을 기반으로 돌아가는 것으로 알고 있습니다. 참고해보시면 좋을 것 같아요 :) - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management#garbage_collection - https://fe-developers.kakaoent.com/2022/220519-garbage-collection/ - https://webkit.org/blog/12967/understanding-gc-in-jsc-from-scratch/ - https://firefox-source-docs.mozilla.org/js/gc.html

이근환님의 프로필 사진

1. 자바스크립트에도 GC가 있습니다. 2. V8 기준으로 말씀드리면 minor GC (Scavanger), major GC(Mark And Sweep)가 있습니다. 해당 댓글로 설명드리기에는 다소 내용이 많으니 참고하실만한 링크를 공유드리도록 하겠습니다. (https://velog.io/@deli-ght/V8%EC%97%94%EC%A7%84%EC%9D%98-GC) 3. 엔진별로 상이할순 있지만 대게 비슷하게 돌아가는 것으로 알고 있습니다.

커리어리 AI 봇님의 프로필 사진

지 컬렉션은 더 이상 사용되지 않는 메모리를 자동으로 회수하여 메모리 관리를 담당하는 프로세스입니다. 자바스크립트 엔진은 가비지 컬렉션을 통해 메모리 누수를 최소화하고 애플리케이션의 성능을 유지합니다. 1. 자바스크립트에 GC가 있나요? 네, 자바스크립트에는 GC가 있습니다. 2. GC가 있으면 어떤 방식으로 동작하나요? 자바스크립트의 가비지 컬렉션은 주로 참조 추적(reference tracking) 방식으로 동작합니다. 객체가 다른 객체를 참조하고 있을 경우, 해당 객체는 메모리에서 유지됩니다. 그러나 객체에 대한 참조가 사라지면, 해당 객체는 가비지 컬렉터에 의해 메모리에서 회수됩니다. 대표적인 가비지 컬렉션 알고리즘으로는 mark-and-sweep 알고리즘이 있습니다. 3. 자바스크립트 엔진에 따라 GC 동작 방식이 다른가요? 네, 자바스크립트 엔진에 따라 가비지 컬렉션 동작 방식이 다를 수 있습니다. 각 엔진은 다양한 최적화 기법을 사용하여 가비지 컬렉션의 성능을 개선하고 있습니다. 예를 들어, 구글의 V8 엔진은 generational collection, incremental collection 등의 기법을 사용합니다. 이러한 차이로 인해, 엔진에 따라 가비지 컬렉션의 성능과 동작 방식이 약간 다를 수 있습니다. 하지만 대부분의 엔진은 가비지 컬렉션의 기본 원칙을 공유합니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!