nodejs 是一个使用了事件驱动、非阻塞式 I/O(input/output输入输出) 的模型的js执行环境

在这里插入图片描述
**

node环境中包含了以下几个模块:

**

v8: google开发的js的解析器,执行js代码的部分

bindings: node中提供常用方法的模块 我们使用的node中的方法,都是这个模块提供的

libuv: 它是基于事件驱动的异步IO模型库

注意: APPLICATION代表我们写的js代码

非阻塞IO

当V8引擎执行代码时遇到IO操作时, node系统直接把这个IO操作交给LIBUV,然后让v8引擎立即往下执行. 而不会等待I/O结束后,再去处理下面的业务. 这就是node环境中的非阻塞I/O. (在node环境下, 网络请求,文件读写可以理解为IO操作,代码中的setTimeout也可以简单理解为IO操作).

事件驱动

这些I/O操作会放在一个事件处理队列里头.I/O操作完之后会执行这个IO的回调函数

希望帮到正在奋斗的你,遇见更好的你。
这篇文章哪里还不足的话,希望路过的大神指点指点小弟。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以在服务器端运行JavaScript代码。它不同于传统的浏览器端JavaScript,而是提供了一个独立的运行时环境,使得JavaScript可以直接在服务器端运行。 Node.js可以解析和执行JavaScript代码,它使用V8引擎将JavaScript代码转换为机器码,并在服务器端执行。这种能力使得开发者可以利用JavaScript的特性来编写服务器端程序,构建高性能、可伸缩的应用。 Node.js的特点之一是阻塞的I/O模型,这意味着它可以同时处理大量的并发请求,而不会因为等待I/O操作而阻塞线程。这种特性使得Node.js常适合开发实时应用、高并发的网络服务器和Web应用。同时,Node.js还提供了许多内置模块和第三方模块,使得开发者可以方便地构建各种类型的服务器应用。 除了在服务器端运行JavaScript,Node.js还可以作为构建工具和中间件平台来使用。通过使用Node.js的包管理器npm,开发者可以方便地安装、使用和分享JavaScript的包和模块。同时,Node.js还支持开发构建工具、自动化任务和前端开发工具等。 总而言之,Node.js是一个在服务器端运行JavaScript的运行环境,它提供了解析和执行JavaScript代码的能力,并通过阻塞的I/O模型实现高性能的服务器应用。其灵活性、高效性和生态系统的丰富性使得Node.js成为了广泛应用的服务器端开发工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值