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堆外分配物理内存