- Node为什么支持高并发?
- node是单线程的
- 优势:
- 无需像多线程那样去关注线程之间的状态同步问题
- 没有线程切换所带来的开销
- 没有死锁存在
- 劣势:
- 无法充分利用多核CPU
- 大量计算占用CPU会导致应用阻塞(即不适用CPU密集型)
- 错误会引起整个应用的退出
- 优势:
- node具有异步I/O特性
- 每当有I/O请求发生时,node会提供给该请求一个I/O线程。然后node就不管这个I/O的操作过程了,而是继续执行主线程上的事件,只需要在该请求返回回调时在处理即可。也就是node省去了许多等待请求的时间。
- 实际上不光是I/O操作,node的绝大多数操作都是以这种异步的方式进行的。它就像是一个组织者,无需事必躬亲,只需要告诉成员们如何正确的进行操作并接受反馈、处理关键步骤,就能使得整个团队高效运行。
- 事务驱动
- 即主线程通过eventloop事件循环触发的方式来运行程序。(node中eventloop机制与浏览器的并不相同)
- node是单线程的
-
Node 是单线程吗
node是单线程运行的,采用单线程异步非阻塞模式;但是严格来说node中存在着多种线程,单线程是指node中只有一个js引擎在主线程上运行,其他的异步操作也是有独立的线程去执行,同时node默认是单线程,一个“node.js”无法利用多核资源。
-
微任务宏任务列表
-
强弱缓存、协商缓存
如何不全局安装vue-cli的时候使用脚手架
- 先在一个空目录下,npm初始化项目并安装@vue/cli。
- 用npx vue create app-name,这个命令同全局安装@vue-cli一样。会在当前目录生成脚手架创建的项目文件。
- 理同npx create-react-app my-app。
- 要npm5.2+ 或更高版本。