반응형
250x250
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 | 31 |
Tags
- node.js
- html
- 자바스크립트
- 몰입캠프후기
- 어은동맛집
- 분리집합
- 프로그래머스
- 알고리즘
- 위상정렬
- 안드로이드스튜디오
- 타입스크립트
- nodeJS
- 리사이클러뷰
- 우선순위큐
- MySQL
- 앱개발
- glfw
- 프래그먼트
- 몰입캠프
- computergraphics
- 컴퓨터그래픽스
- DP
- 자바
- 궁동
- BFS
- 백준
- 대전맛집
- 카이스트맛집
- 카이스트
- 후기
Archives
- Today
- Total
소근소근
[Javascript] How Javascript works? 자바스크립트의 동작 원리 , 엔진, 런타임 , 호출 스택 본문
HTML,CSS,Javascript
[Javascript] How Javascript works? 자바스크립트의 동작 원리 , 엔진, 런타임 , 호출 스택
JJureng 2021. 9. 8. 15:01728x90
반응형
SMALL
자바스크립트는 'synchronous' 하고, 'non-blocking' 하다
싱글 스레드 기반이고, 콜백 큐를 사용한다.
자바스크립트의 대표적인 엔진으로는 크롬 브라우저의 V8 엔진이 있다.
엔진의 구성요소로 두가지는
메모리 힙 (Memory Heap) : 메모리 할당이 이루어진다.
콜 스택 (Call Stack) : 코드가 실행됨에 따라 호출 스택이 쌓이는 곳
자바스크립트 엔진 외에도 관여하는 다른 요소로는 DOM 이나 timeout같은 WEB API가 있다.
자바스크립트가 기본적으로 synchronous한데, asynchronous하게 동작하도록 Timeout을 이용할 수 있다.
(ex setTimeout)
싱글 스레드 기반은 멀티 스레드 환경에서 고려해야 하는 복잡한 문제( ex : deadlock)이 발생하지 않는다.
하지만 한 개의 호출 스택만 갖기 때문에 속도가 느리다는 문제가 있다.
예를 들어 이미지 프로세싱같은 작업을 하는데 시간이 오래 걸린다면, 그 시간 동안 다른 코드는 실행되지 않아 브라우저가 동작을 멈추게 되는 것이다.
728x90
반응형
LIST
'HTML,CSS,Javascript' 카테고리의 다른 글
[Javascript] 자바스크립트에서의 비동기(asynchronous) 동작 (1) | 2021.09.11 |
---|---|
[Javascript] object reference , shallow / deep cloning 객체 참조 복사 / 값 복사 (0) | 2021.09.07 |
[HTML] div, span 태그 차이 (0) | 2021.08.18 |
[HTML] form tag 예제 (5) | 2021.08.18 |
[HTML] form 태그 method 속성 (2) | 2021.08.18 |