반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- javascript
- typescript
- 크롤링
- 문자열
- 프로그래머스
- 알고리즘
- TCP
- Crawling
- 가천대
- 자바스크립트
- BFS
- 백준
- ip
- Node.js
- 소켓
- dp
- type challenge
- HTTP
- Algorithm
- 프로그래머스 레벨 2
- 타입스크립트
- dfs
- socket
- 쉬운 문제
- HTTP 완벽 가이드
- Nestjs
- 타입 챌린지
- 수학
- 그래프
- 레벨 1
Archives
- Today
- Total
kakasoo
[javaScript] 가비지 컬렉션 본문
반응형
C언어를 다룰 때 가장 힘든 것이 동적할당이었다.
동적할당을 처음 배울 당시, 나는 프로그래밍을 마치고 동적할당을 해제하지 않으면,
컴퓨터의 자원을 영영 잃어버리는 것이 아닐지, 그 부분에 대해서 두려움을 가졌다.
당연히 지금은 운영체제가 그런 부분을 자동적으로 처리해준다는 것을 알고 있다.
하지만 그 사실을 몰랐던 나는, 동적할당을 의사가 환자 다루듯 신중하게 해야 했다.
도달 가능성
Mark-and-Sweep 알고리즘이 있다.
이는 말하자면 DFS, BFS와 유사하게, 도달가능한 모든 영역을 탐색하는 알고리즘이다.
나중에 다른 포스팅에서 말하겠지만, JavaScript는 다양한 Enviorment를 Context로 가진다.
Mark-and-Sweep 알고리즘은 이 환경 중 맨 처음에 위치할 전역 환경에서부터 시작하여,
선언된 각각의 변수들까지 접근이 가능한지를 탐색한다.
만약 접근이 가능하다면 쓰이고 있거나, 추후 쓰일 예정이기 때문에 가만히 냅둔다.
다만, 접근이 불가능한 영역이 있다면, 삭제해도 무방한 것으로 간주하고 데이터를 지운다.
JavaScript는 이렇게 계속해서 삭제해도 좋은 값들을 찾아 지워나가는데,
이러한 개념을 가비지 컬렉션이라고 부른다.
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 기초 체크 (0) | 2020.12.23 |
---|---|
[javaScript] 객체와 생성자, Symbol() (0) | 2020.08.02 |
[javaScript] 형변환과 테스트하기 좋은 코드 (0) | 2020.08.01 |
JavaScript의 배열 (0) | 2020.08.01 |
JavaScript의 변수 기초 (0) | 2020.07.12 |