27 # node 基本概念

news/2024/11/29 9:55:57/

node 基本概念

1、node 是什么?

node.js 是一个基于 chrome v8 引擎的 JavaScript 运行环境(runtime),node 不是一门语言,是让 js 运行在后端的运行时,
并且不包括 JavaScript 全集,因为在服务端中不包含 DOM 和 BOM,node 也提供了一些新的模块,例如:http,fs 模块等。

node.js 使用了事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,并且 node.js 的包管理器 npm,是全球最大的开源库生态系统。

2、node 解决了什么问题

node 在处理高并发,I/O 密集场景有明显的性能优势

  • 高并发:是指在同一时间并发访问服务器
  • I/O 密集:是指文件读取、网络操作、数据库、相对的有 cpu 密集
  • cpu 密集:是指逻辑处理运算、压缩、解压、加密、解密

web 主要的场景就是接收客户端的请求,读取静态资源和渲染页面,所以 node 非常适合 web 应用开发。

3、js 单线程

js 的主线程是单线程,在 node 中主线程依旧是单线程。

为什么不是多线程?

如果多个线程同时操作 DOM 会造成混乱。

单线程好处:

  • 节约内存,并且不需要在切换执行上下文
  • 不需要管锁的问题

4、同步异步和阻塞非阻塞

同步异步针对被调用方,这个方法会给告诉我它是同步的还是异步的。

阻塞非阻塞针对的是当前调用者的一个状态,调用这个方法,判断能不能去干别的事情。

  • 同步阻塞
  • 异步阻塞
  • 同步非阻塞
  • 异步非阻塞:我调用了一个方法,这个方法是异步的,我不需要等待这个方法执行完毕

5、node 中的 eventloop

在这里插入图片描述


http://www.ppmy.cn/news/148844.html

相关文章

基于单片机的七彩音乐喷泉设计

目录 一、方案流程及技术规格书设计 二、系统硬件电路设计 三、软件编写及调试 四、系统调试测试与分析 前言 随着时代的进步,人们对生活质量的要求也在不断提升,因此,51单片机七彩音乐喷泉系统应运而生,它不仅可以满足人们对…

通过Python的PyPDF2库提取pdf中的图片

文章目录 前言一、PyPDF2库是什么?二、安装PyPDF2库三、查看PyPDF2库版本四、使用方法待提取的pdf截图1.引入库2.定义pdf路径3.打开PDF文件4.创建PDF阅读器对象5.获取PDF文件中的页数6.遍历每一页进行处理7.提取出来的图片 总结 前言 大家好,我是空空sta…

Mybatis传参为对象列表的查询处理

如果你想在MyBatis中传入一个对象列表作为查询条件&#xff0c;每个对象中有两个属性&#xff0c;可以使用foreach元素来处理&#xff1a; <select id"findUsers" resultType"User">SELECT * FROM usersWHERE (name, age) IN<foreach item"…

测试cpu性能和显卡性能的工具

软件名称 CINEBENCH 官方下载&#xff1a;https://www.maxon.net/en/support/downloads/

处理器cpu测试工具

SPEC CPU测试CPU&#xff1a; &#xff08;1&#xff09;支持一个CPU&#xff1b; &#xff08;2&#xff09;支持多个CPU同时测试 &#xff08;3&#xff09;支持CPU与内存、外围设备交换数据的测试。 STREAM访存性能测试&#xff1a; 专门用于访存性能的测试工具STREAM&#…

杰理之CPU性能测试【篇】

Dhrystone的重要性在于其能作为处理器整数计算性能的指标; DMIPS&#xff1a; Dhrystone MIPS&#xff0c;并非字面上每秒百万条指令的意思。它是一个测量CPU运行一个叫Dhrystone(整数运算)的测试程序时表现出来的相对性能高低的一个单位(很多场合人们也习惯用MIPS作为这个性能…

性能测试中怎么检测CPU情况

压测过程&#xff0c;其中最重要的一部分就是检测CPU的运行情况&#xff1b;那么怎么分析判断是否是CPU的原因&#xff1f; 首先查看 QPS&#xff0c;QPS很高&#xff0c;导致cpu自然也高&#xff08;大流量&#xff0c;水平扩展&#xff09; 然后看到QPS很低&#xff0c;那么…

Intel CPU性能linpack测试

下载安装intel开发工具 安装后 先设置环境变量&#xff1a; . /opt/intel/oneapi/setvars.sh 或者 来自 <Configure Your CPU or GPU System> 找到linpack算例路径 # find /opt/intel/ -name mp_linpack 根据实际情况修改&#xff08;重点在于确定合适的参数值&#x…