美文网首页
01-NodeJS核心基础-Node简介

01-NodeJS核心基础-Node简介

作者: 仰望_IT | 来源:发表于2020-03-21 23:55 被阅读0次

    官方定义

    https://nodejs.org

    Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。


    Node.js是什么?

    Node.js是一种基于"Chrome V8引擎"的JavaScript运行环境, 类似于Java中的JVM虚拟机。
    能够使得JavaScript代码脱离浏览器运行
    Node.js的实质就是用Javascript的代码规范通过C++进行了实现和封装,现在Node.js正在快速发展,对底层的支持也在逐步扩展,其中很多原生的Node都是使用底层的方式进行运作的。

    "Chrome V8引擎"是什么?

    Chrome V8引擎是一款专门解释和执行JavaScript代码的虚拟机, 任何程序只要集成了V8引擎都可以执行JS代码
    V8引擎执行JavaScript代码速度非常快, 性能非常好

    Node.js不是什么?

    1.不是一种编程语言, 是一种运行环境
    2.不是JS应用
    3.不是JavaScript库和框架, 例如jQuery、Vue
    4.不是运行在浏览器中的, 也不是运行在web服务器里面的, 而是可以独立运行的

    Node.js的主要特点

    单进程,异步I/O,事件驱动。

    Node.js的优点

    • 单进程,节约资源
      单进程的优点是不需要像多进程那有互相协调资源,能够节省服务器的开销。
      缺点是单个线程性的计算能力有限,不能发挥出多核计算机的计算优势。而且一旦出现问题,整个服务将不可用。
    • 异步I/O,提升并发量
      目前的应用服务器的制约性能的瓶颈一般是I/O上,也就是读写磁盘。Node.js将所有与I/0相关的操作都做成异步执行的方式,这样主进程现在只要专心处理一些与I/O无关的逻辑处理。因为没有I/O的性能限制,所以能很快的处理来自客户端的请求,提高服务的并发量。
    • 语言灵活,别人能写的,JavaScript也要能写。

    其实多线程的语言处理是以消耗内存为代价,对于CPU的使用率一直不是很好,V8团队坚信,单线程已经够用了,使用非阻塞式IO和请求大大提高CPU的使用率,如果使CPU达到100%利用,那最好不过了,并且这对内存的释放也是有好处的。但也是因为如此对于密集方式请求,可能会出现阻塞,但好在当前密集方式请求并不是很多。

    Node.js的缺点

    • 可靠性相对较低,一旦出现未捕获的异常将直接导致服务不可用
    • 单线程计算能力有限,不能很好的利用多核
    • 语言灵活,怎么写的都有。

    Node的使用场景

    根据优点Node.js适合高并发场景、I/O密集型业务(文件操作、网络操作、数据库相关操作)
    根据缺点Node.js不适合做一些计算密集型的应用。

    Node.js的出现,使得前后端使用同一种语言,统一模型的梦想得以实现。

    相关文章

      网友评论

          本文标题:01-NodeJS核心基础-Node简介

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