node.js了解

做了一年多的VUE开发,其实每次用node.js并不知道是什么,只知道是可以管理包的工具,现在是有必要了解一下了。

1.什么是node.js

Node是基于Chrome V8引擎开发的能使JavaScript在服务器端运行的运行时环境(runtime environment),简言之就是node.js是在谷哥V8引擎上JS的运行环境

node.js不仅仅是一个JS的运行环境,而且它提供了多种可调用的API,如读写文件、网络请求、系统信息等。另一方面,因为CPU执行的是机器码,它还负责将JavaScript代码解释成机器指令序列执行,这部分工作是由V8引擎完成。

延伸知识点

JavaScript 是一款拥有「自动垃圾回收」功能的编程语言。

市面上具有这样功能的语言,一般都是拥有相对应的虚拟机的,像 JavaJVM ,C#CLR ,PHPZend

虚拟机一般实现了代码解析,内存的管理、布局、垃圾回收等功能。

不像C/C++这种没有虚拟机的语言,它们需要手动管理内存。

C/C++语言编译后的文件,是可以直接运行的

如今的 JavaScript 不仅仅是用在浏览器端了,也因为 NodeJS 的关系得以在服务器端运行。和浏览器端不同的地方在于服务器端对资源的敏感性是很高的。当业务规模大了,并发量上来了,一些很细小的问题会放大。这时候一些小小的内存泄漏,都会酿造灾难。

V8 概述

V8 作为一个 JavaScript 引擎,最初是服役于 Google Chrome 浏览器的。它随着 Chrome 的第一版发布而发布以及开源。现在它除了 Chrome 浏览器,已经有很多其他的使用者了。诸如 NodeJSMongoDBCouchDB 等。

V8主要工作就是:「把 JavaScript 直译成机器码,然后运行」

但这中间,往往是一个复杂的过程,它需要处理很多的难题,诸如:


编译优化
 
内存管理
 
垃圾回收

Guess you like

Origin blog.csdn.net/u012174809/article/details/121531813