Blogger Information
Blog 77
fans 0
comment 2
visits 55503
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
node.js来源基本结构基本知识点
南瓜又个梦
Original
522 people have browsed it

node.js

双数版本是稳定版,单数不是稳定版,一般用8以上
node.js是一个平台,它蒋多种技术组合起来,让js调用系统接口,也能开发后台应用

node.js用到了这些技术

V8引擎
libuv
C++实现的一些库zlib等
node.js的架构图

bindings是什么

我只会写js,但是要调用C++写的库,直接调用不行得有个中间层,binding就是这个中间层,需要根据环境进行配置,然后就集合成立bindings,

node.js的工作流程

node.js的工作流程

libuv

每个平台都有自己的异步I/O库,
libuv是一个跨平台的异步U/I库
功能:可用于UDP,TCP,DNS,文件等的异步操作

V8

将js代码变成本地源码执行
维护调用栈,确保JS函数执行的顺序
内存管理,分配所有对象的内存
垃圾回收,重复利用无用的内存
实现JS的标准库
注意
V8不提供dom api
V8执行JS是单线程的
可以开启两个线程执行JS
V8本身是多线程的

Event LOOP

什么是Event
计时器到期
文件可以读了
socket有内容了,关闭了
什么是Loop
Loop是循环,
因为事件是分优先级的,所以处理起来也是分优先级的,轮询优先级
Event Loop
操作系统可以触发事件JS处理事件
Event Loop就是对事件处理顺序的管理

Event LOOP的流程图
node.js轮询流程图

重点阶段
timers检查计时器
poll轮询,检查系统事件
check检查setLmmediate回调
其他阶段用的少
大部分时间是在poll阶段

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post