饥人谷技术博客

Node.js (二) 框架初识

2019-05-31  本文已影响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 两种。

HandleScope 的解释请往下看

3. Scope(句柄)

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

Context的解释请往下看

4. Context

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

五、Libuv

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

(完)

上一篇 下一篇

猜你喜欢

热点阅读