美文网首页
一 Node介绍

一 Node介绍

作者: ddc大灰羊 | 来源:发表于2019-02-12 00:12 被阅读0次

1.什么是 Node.js

Node.js是一个JavaScript运行平台, 使用 Google V8引擎(基于es6). 特征是异步和事件驱动机制。Node.js是单线程编程模型,可以规避一些在线程编程中出现的问题,如资源死锁和竞态条件

2.非阻塞I/O

在执行磁盘或网络这样的慢I/O操作时,我们希望程序可以继续执行其他业务逻辑。Node用三种技术来实现: 事件、异步API、非阻塞I/O。

为了更好的解释非阻塞I/O, 引用一下Node.js实战(第二版)

在Node程序员看来,非阻塞I/O是个底层属于。它的意思是说,你的程序可以在做其他事情时,发起一个请求来获取网络资源,然后当网络操作完成时,将会运行一个回调函数来处理这个操作的结果。

结合 jawil的github issue

看看这样的业务场景:需要从多个数据源拉取数据,然后进行处理。

①串行获取数据,这是我们一般的解决方案,一PHP为例的I/O阻塞-PHP为例,假如获取profile和timeline操作各需要1s,那么串行获取就需要2s。

②Node.js非阻塞I/O事件会创建一个线程去执行,然后主线程会继续往下执行,因此,拿profile的动作触发一个I/O事件,马上就会去执行拿timeline的动作,两个动作并行执行,加入各需要1s,那么总的时间就是1s。它们的I/O操作执行完成后,会发射一个事件,profile和timeline,事件代理接收后继续往下执行后面的逻辑,这就是Node.js非阻塞I/O的特点。

非阻塞I/O是程序执行过程中,I/O操作不会阻塞程序的执行,也就是在I/O操作的同时,继续执行其他代码(这得益于Node的事件循环机制)。在I/O设备效率还远远低于CPU效率的时代,这种I/O模型(非阻塞I/O)为程序带来的性能上的提高是非常可观的。

libuv是提供快速、跨平台、非阻塞I/O的本地库

3. 核心模块

Node的标注库核很精巧,是在JavaScript标准上加入了文件和TCP/IP网络功能,使其成为一个可以编写服务器端的编程语言。常用node库, 文件系统库(fs, path)、TCP客户端和服务端库(net)、HTTP库(http和https)、域名解析库(dns)、用于写测试的断言库(assert)、用于查询平台信息的操作系统库(os)、用于处理事件的事件模块。

4. Node自带工具

Node自带npm包管理器以及调试器

  • npm要求node根目录下有一个package.json文件, 创建这个文件的命令
npm init -y
  • node调试器支持单步执行和REPL(读取-计算-输出-循环)
    启动调试的命令是
node debug xxx.js

5. v8引擎

v8引擎由Google的Chromium项目组开发,主要负责JavaScript代码的解释和执行。它的特性是将JavaScript直接编译为机器码并对代码进行优化,让Node运行的更快。

相关文章

  • 一 Node介绍

    1.什么是 Node.js Node.js是一个JavaScript运行平台, 使用 Google V8引擎(基于...

  • Node全栈技术开发介绍

    Node全栈技术开发介绍 node和js介绍 node服务端开发 node前端vuejs node前端reactj...

  • Node 介绍

    1. Node能够解决什么问题? Node的首要目标是提供一种简单的,用于创建高性能服务器的开发工具 Web服务器...

  • node介绍

    node 特点 单线程传统的java是为每个连接建一个线程,每个线程需要耗费大约2MB内存。如果需要处理大量的并发...

  • 介绍node

    https://elemefe.github.io/node-interview/#/sections/zh-cn...

  • nodejs01-nodejs简介

    node介绍 node优势 node特点 node能做什么 node环境搭建 官方网站

  • Vue环境搭建补充

    一、名词介绍 nvm :node version manager -> node 版本管理工具 npm :node...

  • nodejs相关总结

    一、Node快速体验 1、 Node介绍 (1) Node.js是什么 Node 是一个基于Chrome V8 ...

  • Node.js模块

    Node.js 模块和 Node.js 包介绍。 一、Node.js模块 每一个Node.js都是一个Node.j...

  • Node.js之安装与介绍

    一、Node.js安装与介绍 目录:安装、介绍 1.安装Node.js 官网: http://nodejs.cn/...

网友评论

      本文标题:一 Node介绍

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