가비지컬렉션
-
자바스크립트 메모리 누수 :: 마이구미Javascript 2016. 7. 13. 14:39
이전 글 이후 다시 조금 더 다뤄볼 예정으로 글을 작성하게 되었다.이전 글을 보고 오길 바란다.IBM에서 작성된 글을 통해 진행할 것이다.예제를 통해 진행할 것이므로 실습해보자. 크롬 개발자 도구에서 탭 중 Profiles 탭을 이용할 것이다.Profiles의 기능은 아래와 같다. 웹페이지의 javascript, css 등의 성능을 측정하여 어디에서 병목이 발생하는지 확인,메모리 상태 스냅샷을 찍어서 메모리 누수가 일어나는 부분 확인 일단 셋팅하자.index.html Start Destroy main.js$("#start_button").click(function(){ if(!leak){ return; } leak = new Leaker(); leak.init(); }); $("#destroy_butto..
-
자바스크립트 메모리 관리 [가비지 컬렉션] :: 마이구미Javascript 2016. 7. 12. 21:56
이번 글은 자바스크립트의 메모리 관리에 대해 알아볼 것이다.C를 사용해 봤다면 malloc() 과 free() 사용했을 것이다.예를 들어 무언가를 생성하고 메모리를 할당하고 필요없어지면 메모리에서 없애버리기 위해 사용한다. 이렇게 C나 C++은 메모리를 직접 할당하고 해제하여야한다.그에 반해 자바는 GC라는 녀석이 자동으로 메모리를 관리해주고 있다.이 GC가 가비지 콜렉션(Garbage Collection)이다. 이것은 C와 JAVA의 큰 차이 중 하나이다. 자바스크립트 또한 자바처럼 GC를 통해 메모리를 관리한다.다시 한번 말하자면 C나 C++은 소스를 통해 메모리를 직접 할당하고 직접 해제하여야한다.그에 반해 자바나 자바스크립트와 같은 고급 언어들은 GC라는 녀석이 알아서 필요없으면 메모리를 해제하여..