6

nodejs是什么

nodejs官网(nodejs.org)上的定义:
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

翻译过来:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。

从定义中,我们可以知道nodejs与其他编程语言的一些不同之处:

1.首先nodejs不是一门语言,其是一个基于V8的JS运行平台;与php、jsp等既是语言也是平台不同。
2.与php、jsp等语言不同,nodejs不用依赖apache、nginx等服务器软件,nodejs也可以提供各种web服务(http服务器等)。
3.nodejs的思想:花费最小的硬件成本,最求更高的并发、更好的性能。

nodejs的特点(非常重要):
1.单线程
2.事件驱动(事件循环)
3.非阻塞I/O(异步I/O)

所谓nodejs的特点,就是nodejs是怎样解决web服务器高性能的问题。

下一节,开始讲单线程特性。


小小心
225 声望42 粉丝