We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node.js 是一个开源与跨平台的 JavaScript 运行时环境
Node.js
JavaScript
在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核),利用事件驱动、非阻塞和异步输入输出模型等技术提高性能
可以理解为 Node.js 就是一个服务器端的、非阻塞式I/O的、事件驱动的JavaScript运行环境
Nodejs采用了非阻塞型I/O机制,在做I/O操作的时候不会造成任何的阻塞,当完成之后,以时间的形式通知执行操作
Nodejs
I/O
例如在执行了访问数据库的代码之后,将立即转而执行其后面的代码,把数据库返回结果的处理代码放在回调函数中,从而提高了程序的执行效率
事件驱动就是当进来一个新的请求的时,请求将会被压入一个事件队列中,然后通过一个循环来检测队列中的事件状态变化,如果检测到有状态变化的事件,那么就执行该事件对应的处理代码,一般都是回调函数
比如读取一个文件,文件读取完毕后,就会触发对应的状态,然后通过对应的回调函数来进行处理
优点:
因为Nodejs是单线程,带来的缺点有:
借助Nodejs的特点和弊端,其应用场景分类如下:
具体场景可以表现为如下:
json
其实,Nodejs能实现几乎一切的应用,只考虑适不适合使用它
The text was updated successfully, but these errors were encountered:
只支持单核CPU,这个观点是否错误呢?
Sorry, something went wrong.
不算错误,这是设计初衷,核心卖点还是这个。你可能想说可以支持多进程和多线程,也只能针对一些特殊场景。
No branches or pull requests
一、是什么
Node.js
是一个开源与跨平台的JavaScript
运行时环境在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核),利用事件驱动、非阻塞和异步输入输出模型等技术提高性能
可以理解为
Node.js
就是一个服务器端的、非阻塞式I/O的、事件驱动的JavaScript
运行环境非阻塞异步
Nodejs
采用了非阻塞型I/O
机制,在做I/O
操作的时候不会造成任何的阻塞,当完成之后,以时间的形式通知执行操作例如在执行了访问数据库的代码之后,将立即转而执行其后面的代码,把数据库返回结果的处理代码放在回调函数中,从而提高了程序的执行效率
事件驱动
事件驱动就是当进来一个新的请求的时,请求将会被压入一个事件队列中,然后通过一个循环来检测队列中的事件状态变化,如果检测到有状态变化的事件,那么就执行该事件对应的处理代码,一般都是回调函数
比如读取一个文件,文件读取完毕后,就会触发对应的状态,然后通过对应的回调函数来进行处理
二、优缺点
优点:
因为
Nodejs
是单线程,带来的缺点有:三、应用场景
借助
Nodejs
的特点和弊端,其应用场景分类如下:I/O
,不善于计算。因为Nodejs是一个单线程,如果计算(同步)太多,则会阻塞这个线程具体场景可以表现为如下:
json
的API其实,
Nodejs
能实现几乎一切的应用,只考虑适不适合使用它参考文献
The text was updated successfully, but these errors were encountered: