node篇-node基础

312 阅读2分钟

node是什么

  • Node.js是一个基于 ChromeV8引擎的JavaScript运行环境(runtime)
  • Node不是一门语言是让js运行在后端的运行时,并且不包括javascript全集,因为在服务端中不包含DOM和BOM,Node也提供了一些新的模块例如http,fs模块等。
  • Node.js 使用了事件驱动、非阻塞式 I/O 的模型,使其轻量又高效并且Node.js 的包管理器 npm,是全球最大的开源库生态系统。

Node的优点

Node在处理高并发,I/O密集场景有明显的性能优势

  • 高并发,是指在同一时间并发访问服务器
  • I/O密集指的是文件操作、网络操作、数据库,相对的有CPU密集,CPU密集指的是逻辑处理运算、压缩、解压、加密、解密

Web主要场景就是接收客户端的请求读取静态资源和渲染界面,所以Node非常适合Web应用的开发。

node是单线程

  • 单线程特点是节约了内存,并且不需要在切换执行上下文
  • 而且单线程不需要管锁的问题

同步阻塞和异步非阻塞

  • 发送方发送请求之后一直等待响应。接收方处理请求时进行的IO操作如果不能马上等到返回结果,就一直等到返回结果后,才响应发送方,期间发送方不能进行其他工作。
  • 发送方向接收方请求后,不等待响应,可以继续其他工作。接收方处理请求时进行IO操作如果不能马上得到结果,也不等待,而是马上返回去做其他事情。当IO操作完成以后,将完成状态和结果通知接收方,接收方再响应发送方。(效率最高)

Node中的Event Loop

Node中全局对象

  • Buffer
  • process
  • ...

node中的模块

  • exports
  • module
  • require()
  • ...

接下来是node中的eventloop哦!