• Nodejs相关知识


    Nodejs其它知识点

     

    一,Nodejs架构

     

    Nodejs是一个构建在V8引擎(C++编写的)上的JavaScript运行环境。

     

    Nodejs底层框架由三部分组成:

     

    1,Nodejs标准库

     

    这部分是JavaScript编写的,也是我们在使用过程中能调用的API,在源码中lib目录下可以看到。

     

    2,Node bindings

     

    可以理解为一个桥(像JSBridge那样),连接JS和C++,是JavaScript能直接调用C/C++的关键,Node通过这一层将JS传入V8。

     

    3,底层库

     

    1. V8:这也是为什么nodejs是用JavaScript编写的原因,为了使用高效的V8引擎;
    2. Libuv:它为nodejs提供了跨平台、线程池、事件池、异步I/O等能力,Nodejs之所以高效的异步很大归功于Libuv的实现;
    3. http_parser、OpenSSL等:提供了包括http解析、SSL等其它功能

     

    二,Nodejs执行机制

     

    1,Nodejs是一个单线程,只有一个JS主线程,其它的异步操作还是由线程池完成,将所有的阻塞操作都交给了内部的线程池去实现,本身不进行I/O操作;

     

    2,Nodejs之所以单线程高并发,就是因为libuv层的事件循环机制,和底层线程池的实现;

     

    3,事件驱动 + 主循环

     

     

    三,Nodejs优缺点及适用场景

     

    优点:I/O密集型处理比较擅长(sql查询请求、文件流操作请求、http请求等)

     

    缺点:不擅长CPU密集型操作(复杂的计算、图片的操作等)

     

    适用场景:RESTful API,请求和响应只需要少量文本,没有大量逻辑处理

     

     

     

  • 相关阅读:
    Nginx开启Gzip压缩
    VMware克隆虚拟机,克隆机网卡启动不了解决方案
    Linux 几个简单的操作命令
    1. Java环境搭建及demo
    美柚记录
    action找不到
    < >
    document 写法
    develop process
    git stash
  • 原文地址:https://www.cnblogs.com/yanchenyu/p/13602919.html
Copyright © 2020-2023  润新知