美文网首页饥人谷技术博客
Node.js (二) 框架初识

Node.js (二) 框架初识

作者: _茂 | 来源:发表于2019-05-31 13:21 被阅读1次

一、简介

Node 四部分:Node Standard Library,Node Bindings,V8,Libuv


Node.js体系架构

二、Node Standard Library

Node Standard Library 是我们每天都在用的标准库,如Http, Buffer 模块。

三、Node Bindings

Node Bindings 是沟通JS 和 C++的桥梁,封装V8和Libuv的细节,向上层提供基础API服务

四、V8

现在 JS 引擎的执行过程大致是:源代码 --->抽象语法树 --->字节码 --->JIT--->本地代码。

V8 更加直接的将抽象语法树通过 JIT 技术转换成本地代码,放弃了在字节码阶段可以进行的一些性能优化,但保证了执行速度,极大减少了转换时间.

1. Isolate

一个 Isolate 是一个独立的虚拟机

2. Handle(句柄)

Handle 即是对 Heap 中对象的引用。

在 V8 中,内存分配都是在 V8 的 Heap 中进行分配的,JavaScript 的值和对象也都存放在 V8 的 Heap 中
Handle 分为 Local 和 Persistent 两种。

  • Local :局部的,它同时被 HandleScope 进行管理。
  • persistent:类似与全局的,不受 HandleScope 的管理,其作用域可以延伸到不同的函数。

HandleScope 的解释请往下看

3. Scope(句柄)

作用域可以看成是一个句柄的容器,在一个作用域里面可以有很多很多个句柄
Scope 分为:HandleScope,Context::Scope

  • HandleScope 是用来管理 Handle 的
  • Context::Scope 仅仅用来管理 Context 对象。

Context的解释请往下看

4. Context

也就是上下文环境,也可以理解为运行环境

五、Libuv

Libuv 是专门为Node.js开发的一个封装库,提供跨平台的异步I/O能力

(完)

相关文章

网友评论

    本文标题:Node.js (二) 框架初识

    本文链接:https://www.haomeiwen.com/subject/nxbmtctx.html