Node.js:定义与优缺点解析

发表时间: 2019-12-02 22:01

何为node?

Node是一个基于Chrome V8 引擎 JavaScript 运行环境

相关概念解释:

I/O操作:也就是数据库CRUD读写操作

CPU 密集:(点餐过程) 不能用node 比如点个满汉全席,服务员点半天 后边的大厨等很久也不能做了(比如计算某个数据这就产生CPU密集型,服务员点菜,一种CPU操作,不去操作数据库)

高并发和i/o密集:(做菜过程)适合用node 一个一个点一些小菜,然后让后边的大厨忙活起来(频繁的进行数据库操作

node 的常用场景:webserver 本地代码构建 实用工具的开发

CommonJS 是node的代码规范:每个文件是一个模块,有自己的作用域,



node 的优点:

1.异步非阻塞的I/O(I/O线程池 I/O的操作指的是对数据库的操作)

2.特别适用于I/O密集型应用

3.事件循环机制

4.单线程

5.跨平台

不足之处:

回调函数嵌套太多,太深(俗称回调地狱)

单线程,处理不好CPU密集型任务

此刻可以选用Java或者其他后端语言作为服务端


node.js的应用场景:

web服务API

服务器渲染页面,提升速度

后端的web服务,例如跨域,服务器端的请求


node 中的 buffer:

1.buffer 用于处理二进制数据流

2.实例类似整数数组,大小固定

3.c++ 代码在v8堆外分配物理内存