js vm은 js 코드를 컴파일하고 실행하는 역할을 담당한다.
즉, js 코드를 실행하는 가상 머신을 말한다.
V8 엔진 (Google Chrome, Node.js), SpiderMonkey, JavaScriptCore 등이 있다.
js는 고수준 스크립트 언어로, js vm이 이를 바이트 코드 또는 머신 코드로 컴파일한 후 실행한다.
js vm은 js 코드를 받아서 인터프리터 방식 또는 jit 컴파일러 방식으로 동작한다.
- 인터프리터: 코드를 한 줄씩 읽고 즉시 실행하는 방식
- JIT 컴파일러: 코드를 미리 분석해 자주 사용하는 부분을 기계어로 변환하여 최적화하는 방식
js vm은 메모리 할당 그리고 가비지 컬럭션을 처리해서 메모리를 효율적으로 사용할 수 있게 해준다.
js vm은 js가 브라우저나 nodejs 환경에서 실행될 수 있게 해주는 가상 머신을 말한다.
이 vm은 js 코드를 컴파일하고 실행하며 메모리 관리 및 최적화를 해주는 엔진이다.
참고
nodejs 디자인 패턴 바이블