자바스크립트 메모리 누수

머맨·2021년 6월 16일
0

메모리는 크게 스택과 힙메모리로 구별

Stack : 메소드,함수 프레임, 원시값, 객체의 포인터등 정적인 데이터가 저장 되는 곳
Heap : 객체 또는 다이나믹 데이터 등이 저장되는곳, 메모리 블록중 가장 큰 영역이며 GC가 작업을 하는 곳

메모리 누수란?

애플리케이션에서 더이상 사용하지 않는 메모리가 힙에서 계속 남아 있고, 그래서 이를 가비지 컬렉터가 os로 메모리로 반환하지 못하는 상황을 의미. 이는 메모리에서 쓸모없는 블록으로 존재하게 된다. 이러한 블록이 계속해서 생기게 되면 애플리케이션에서는 더이상 사용할 메모리가 존재 하지 않게 되고, 나아가 os 또한 할당할 메모리가 남아나지 않아서 애플리케이션이 느려지고 크래쉬된다.

무엇이 자바스크립트에서 메모리 누수를 발생시키는가?

  1. 전역변수 : 전역 변수는 절대로 가비지 컬렉팅 되지 않으므로, 전역변수를 남용하지 않는것
profile
코맨코맨

0개의 댓글