Node.js技术架构

613861684479564_.pic.jpg

bindings

  • JS调用C/C++库(eq:http_parser)的中间桥梁(eq:http_parser_bindings.cpp) ;用node.js提供的编译工具编译为.node文件,JS代码直接require这个.node文件,这样js就可以调用http_parser库

libuv

  • 跨平台的异步I/O库 (I/O: 所有的输入输出操作)
  • 可以用于TCP/UDP/DNS/文件等的异步操作

V8

  • 讲JS源代码变成本地代码并执行
  • 维护调用栈,确保JS函数执行顺序
  • 内存管理,为所有对象分配内存
  • 垃圾回收,重复利用无用的内存
  • 实现JS标准库

Event Loop

  • 对时间处理顺序的管理


    image.png
  • timers 检查计时器; poll轮询,检查系统事件; check 检查 setImmediate回调;大部分时间Node.js停在poll阶段; 大部分事件都在poll被处理,eq 文件、网络请求

Node.js工作流程

image.png

API

https://devdocs.io/

image.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js是什么? Node.js最初开始于2009年,让JavaScript代码离开浏览器的执行环境也可以执...
    左冬的博客阅读 1,120评论 0 3
  • Node.js的版本中,双数是稳定版,单数非稳定,推荐使用8以上的版本。 推荐安装工具nrm用于切换下载源推荐用y...
    Marshall3572阅读 1,063评论 0 1
  • Node.js 是什么 是一个平台1.他将多种技术组合在一起2.让JavaScript也能调用系统接口、开发后端应...
    littleyu阅读 667评论 0 0
  • Node.js不是什么 不是Web框架 Nodejs并不是后端框架,所以你不能把Node.js与Flask或者Sp...
    韩宝亿阅读 914评论 0 0
  • 前言从Node.js进入人们的视野时,我们所知道的它就由这些关键字组成 事件驱动、非阻塞I/O、高效、轻量,它在官...
    Www刘阅读 1,567评论 0 18