• Node.js简介


    Node.js是什么?

    它是一个基于谷歌浏览器v8引擎设计的单线程的基于事件驱动的非阻塞I/O模型的一个js运行环境。

    它的特点:

    单线程

    node.js的线程是单线程的,我们编写代码时的那个线程,通过V8引擎运行代码,代码按前后顺序依次执行,但是Node.js提供了异步函数能够实现多线程执行任务,异步函数的实现是基于底层c/c++写的程序。

    非阻塞I/O模型

     I/O 操作,如读写文件、输入输出、请求响应等等,它是非常耗时的。在很早以前如果你要读一个文件,整个线程都暂停下来,等待文件读完后继续执行。

    非阻塞式I/O是指:应用程序通知操作系统内核发起I/O操作后,不需要等待I/O操作结果,可以直接后续代码执行,让计算机的多核发挥功能 同时执行任务,极大地提升了程序的效率。

    事件驱动

    它的实现是利用回调函数,当程序执行时,将异步任务添加到事件池(event loop)中,会注册这些事件,让异步任务在子线程中执行,事件池中会循环检测这些事件,检测到事件执行完毕时就回到主线程执行回调函数。

    模块化

    Node.js的开发是基于模块化的思想,将各种功能集成到各种模块中。

    这样做的优点:方便扩展和维护,更有利于开发大型项目。

    目前Node.js它的地位?

    Node.js是2008发布,在2010年开始火起来,到现在Node.js已经成为前端工程师的一个必备技能,通过它前端工程师可以一个人完成前端和后端的制作。

    我要明白Node.js是由Chrome的v8和底层c/c++编写的程序组成,2008年谷歌发布v8引擎,Ryan(Node.js创始人)直接把v8用c++封装了,即终于可以通过js代码编写服务器。

    我们用JavaScript编写服务器,js代码在上层的v8运行,调用底层的c/c++编写的函数构建服务器。

    而且它是一个开源的免费的js代码运行环境,性能好速度快 资源占用小。

  • 相关阅读:
    vm的生命周期钩子
    最长递增子序列
    linux上搭建svn多仓库环境
    PHP中文转拼音实现
    23款奔驰GLC260L升级原厂 360全景影像 新款透明底盘
    HarmonyOS 权限 介绍
    Orange3数据可视化(箱线图-离散属性分布)
    SpringBoot+Vue实现excel导入带格式化的时间参数(moment格式化明天日期并设置el-date-picker默认值)
    (免费分享)基于springboot论坛bbs系统
    Pytorch 基于AlexNet的服饰识别(使用Fashion-MNIST数据集)
  • 原文地址:https://blog.csdn.net/m0_59345890/article/details/126062163