27 # node 基本概念

简介: 27 # node 基本概念

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

目录
相关文章
|
JavaScript 前端开发 网络协议
​Node.js 教程(一) 基本概念与基本使用
​Node.js 教程(一) 基本概念与基本使用
|
JavaScript 前端开发 Java
Node.js专题讲解 第1期 概念篇
Node.js专题讲解 第1期 概念篇
85 0
|
JavaScript 前端开发
Node.js中的EventEmitter模块:基本概念、使用方法和常见应用场景
Node.js中的EventEmitter模块:基本概念、使用方法和常见应用场景
292 0
|
负载均衡 JavaScript 算法
Node.js 多进程的概念、原理、优势以及如何使用多进程来提高应用程序的性能和可伸缩性
Node.js 多进程的概念、原理、优势以及如何使用多进程来提高应用程序的性能和可伸缩性
271 1
|
11月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
297 1
|
12月前
|
前端开发 JavaScript 程序员
【从前端入门到全栈】Node.js 之核心概念
【从前端入门到全栈】Node.js 之核心概念
|
12月前
|
缓存 JavaScript 前端开发
Node.js模块化的基本概念和分类及使用方法
Node.js模块化的基本概念和分类及使用方法
200 0
|
JavaScript 前端开发 程序员
【Node.JS 】http的概念及作用
【Node.JS 】http的概念及作用
177 0
【Node.JS 】http的概念及作用
|
JavaScript 网络协议 Windows
【Node.JS 】服务器相关的概念
【Node.JS 】服务器相关的概念
135 0
【Node.JS 】服务器相关的概念
|
Web App开发 缓存 JavaScript
​Node.js 教程(一) 基本概念与基本使用
​Node.js 教程(一) 基本概念与基本使用
​Node.js 教程(一) 基本概念与基本使用